/** * Copyright 2010 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.guvnor.client.common; /* * Copyright 2005 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Keeps track of the different rule formats we support. * Each format type corresponds to the dublin core "format" attribute. * * This is used both by the UI, to determine what are valid formats, and also on the server. * If you are adding new types they need to be registered here. * * If an asset type is unknown, then it will be opened with the default editor. * * @author Michael Neale */ public class AssetFormats { /** For functions */ public static final String FUNCTION = "function"; /** For BPEL */ public static final String BPEL_PACKAGE= "bpel.jar"; /** For "model" assets */ public static final String MODEL = "jar"; /** For DSL language grammars */ public static final String DSL = "dsl"; /** Vanilla DRL "file" */ public static final String DRL = "drl"; /** Use the rule modeller */ public static final String BUSINESS_RULE = "brl"; /** use a DSL, free text editor */ public static final String DSL_TEMPLATE_RULE = "dslr"; /** Use a decision table.*/ public static final String DECISION_SPREADSHEET_XLS = "xls"; public static final String DECISION_TABLE_GUIDED = "gdst"; /** Use a ruleflow.*/ public static final String RULE_FLOW_RF = "rf"; public static final String BPMN2_PROCESS = "bpmn"; /** Use a data enum.*/ public static final String ENUMERATION = "enumeration"; /** For test scenarios. */ public static final String TEST_SCENARIO = "scenario"; /** For fact models in drl. */ public static final String DRL_MODEL = "model.drl"; public static final String XML = "xml"; public static final String PROPERTIES = "properties"; public static final String WORKING_SET = "workingset"; public static final String RULE_TEMPLATE = "template"; /** * The following group the assets together for lists, helpers etc... */ public static final String[] BUSINESS_RULE_FORMATS = new String[]{AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS, AssetFormats.DECISION_TABLE_GUIDED, AssetFormats.RULE_TEMPLATE}; /** * These define assets that are really package level "things". Used to decide when to flush any caches. */ private static final String[] PACKAGE_DEPENCENCIES = new String[] {AssetFormats.FUNCTION, AssetFormats.DSL, AssetFormats.MODEL, AssetFormats.ENUMERATION, AssetFormats.DRL_MODEL, AssetFormats.WORKING_SET}; /** * Will return true if the given asset format is a package dependency (eg a function, DSL, model etc). * Package dependencies are needed before the package is validated, and any rule assets are processed. */ public static boolean isPackageDependency(String format) { for (String dep : PACKAGE_DEPENCENCIES) { if (dep.equals( format )) { return true; } } return false; } }