Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.kie.workbench.common.services.datamodel.backend.server.builder.packages;
  
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  
 import  org.drools.compiler.lang.dsl.DSLMappingEntry;
 import  org.drools.compiler.lang.dsl.DSLTokenizedMappingFile;
 import  org.drools.workbench.models.commons.backend.oracle.PackageDataModelOracleImpl;
 import  org.drools.workbench.models.commons.backend.oracle.ProjectDataModelOracleImpl;
 import  org.drools.workbench.models.datamodel.oracle.PackageDataModelOracle;
 import  org.drools.workbench.models.datamodel.oracle.ProjectDataModelOracle;
 import  org.drools.workbench.models.datamodel.rule.DSLSentence;
 import  org.uberfire.commons.data.Pair;

Builder for PackageDataModelOracle
 
 public final class PackageDataModelOracleBuilder {
 
     private static final Logger log = LoggerFactory.getLoggerPackageDataModelOracleBuilder.class );
 
     private final String packageName;
 
     private PackageDataModelOracleImpl packageOracle = new PackageDataModelOracleImpl();
     private ProjectDataModelOracle projectOracle = new ProjectDataModelOracleImpl();
 
     private Map<StringString[]> factFieldEnums = new HashMap<StringString[]>();
     private List<DSLSentence> dslConditionSentences = new ArrayList<DSLSentence>();
     private List<DSLSentence> dslActionSentences = new ArrayList<DSLSentence>();
     //These are not used anywhere in Guvnor 5.5.x, but have been retained for future scope
     private List<DSLSentence> dslKeywordItems = new ArrayList<DSLSentence>();
     private List<DSLSentence> dslAnyScopeItems = new ArrayList<DSLSentence>();
 
     // Package-level map of Globals (name is key) and their type (value).
     private Map<StringStringpackageGlobalTypes = new HashMap<StringString>();
 
         return new PackageDataModelOracleBuilder"" );
     }
 
     public static PackageDataModelOracleBuilder newPackageOracleBuilderfinal String packageName ) {
         return new PackageDataModelOracleBuilderpackageName );
     }
 
     private PackageDataModelOracleBuilderfinal String packageName ) {
         this. = packageName;
     }
 
     public PackageDataModelOracleBuilder setProjectOraclefinal ProjectDataModelOracle projectOracle ) {
         this. = projectOracle;
         return this;
     }
 
     public PackageDataModelOracleBuilder addEnumfinal String factType,
                                                   final String fieldName,
                                                   final String[] values ) {
         final String qualifiedFactField = factType + "#" + fieldName;
         .putqualifiedFactField,
                             values );
         return this;
     }
 
     public PackageDataModelOracleBuilder addEnumfinal String enumDefinition,
                                                   final ClassLoader classLoader ) {
         parseEnumDefinitionenumDefinition,
                              classLoader );
         return this;
     }
 
     private void parseEnumDefinitionfinal String enumDefinition,
                                       final ClassLoader classLoader ) {
         final DataEnumLoader enumLoader = new DataEnumLoaderenumDefinition,
                                                               classLoader );
         if ( !enumLoader.hasErrors() ) {
             .putAllenumLoader.getData() );
         }
     }
 
     public PackageDataModelOracleBuilder addDslfinal String dslDefinition ) {
         parseDslDefinitiondslDefinition );
         return this;
     }
 
     private void parseDslDefinitionfinal String dslDefinition ) {
         final DSLTokenizedMappingFile dslLoader = new DSLTokenizedMappingFile();
         try {
             if ( dslLoader.parseAndLoad( new StringReaderdslDefinition ) ) ) {
                 populateDSLSentencesdslLoader );
             }
         } catch ( IOException e ) {
             .errore.getMessage() );
        }
    }
    private void populateDSLSentencesfinal DSLTokenizedMappingFile dslLoader ) {
        for ( DSLMappingEntry entry : dslLoader.getMapping().getEntries() ) {
            if ( entry.getSection() == DSLMappingEntry.CONDITION ) {
                addDSLConditionSentenceentry.getMappingKey() );
            } else if ( entry.getSection() == DSLMappingEntry.CONSEQUENCE ) {
                addDSLActionSentenceentry.getMappingKey() );
            } else if ( entry.getSection() == DSLMappingEntry.KEYWORD ) {
                addDSLKeywordMappingentry.getMappingKey() );
            } else if ( entry.getSection() == DSLMappingEntry.ANY ) {
                addDSLAnyScopeMappingentry.getMappingKey() );
            }
        }
    }
    private void addDSLConditionSentencefinal String definition ) {
        final DSLSentence sentence = new DSLSentence();
        sentence.setDefinition( definition );
        this..add( sentence );
    }
    private void addDSLActionSentencefinal String definition ) {
        final DSLSentence sentence = new DSLSentence();
        sentence.setDefinition( definition );
        this..add( sentence );
    }
    private void addDSLKeywordMappingfinal String definition ) {
        final DSLSentence sentence = new DSLSentence();
        sentence.setDefinition( definition );
        this..add( sentence );
    }
    private void addDSLAnyScopeMappingfinal String definition ) {
        final DSLSentence sentence = new DSLSentence();
        sentence.setDefinition( definition );
        this..add( sentence );
    }
    public PackageDataModelOracleBuilder addGlobalsfinal String definition ) {
        List<Pair<StringString>> globals = GlobalsParser.parseGlobalsdefinition );
        for ( Pair<StringStringg : globals ) {
            .putg.getK1(),
                                    g.getK2() );
        }
        return this;
    }
    public PackageDataModelOracle build() {
        //Copy Project DMO into Package DMO
        final ProjectDataModelOracleImpl pd = (ProjectDataModelOracleImpl) ;
        .addProjectModelFields( pd.getProjectModelFields() );
        .addProjectFieldParametersType( pd.getProjectFieldParametersType() );
        .addProjectJavaEnumDefinitions( pd.getProjectJavaEnumDefinitions() );
        .addProjectMethodInformation( pd.getProjectMethodInformation() );
        .addProjectCollectionTypes( pd.getProjectCollectionTypes() );
        .addProjectEventTypes( pd.getProjectEventTypes() );
        .addProjectTypeSources( pd.getProjectTypeSources() );
        .addProjectSuperTypes( pd.getProjectSuperTypes() );
        .addProjectTypeAnnotations( pd.getProjectTypeAnnotations() );
        .addProjectTypeFieldsAnnotations( pd.getProjectTypeFieldsAnnotations() );
        .addProjectPackageNames( pd.getProjectPackageNames() );
        //Add Package DMO specifics
        loadEnums();
        loadDsls();
        loadGlobals();
        loadProjectOracle();
        return ;
    }
    private void loadProjectOracle() {
        .setPackageName(  );
    }
    private void loadEnums() {
        final Map<StringString[]> loadableEnums = new HashMap<StringString[]>();
        for ( Map.Entry<StringString[]> e : .entrySet() ) {
            final String qualifiedFactField = e.getKey();
            loadableEnums.putqualifiedFactField,
                               e.getValue() );
        }
        .addPackageWorkbenchEnumDefinitions( loadableEnums );
    }
    private void loadDsls() {
        .addPackageDslConditionSentences(  );
        .addPackageDslActionSentences(  );
    }
    private void loadGlobals() {
        .addPackageGlobals(  );
    }
New to GrepCode? Check out our FAQ X