Search in sources :

Example 1 with FactModels

use of org.drools.workbench.screens.factmodel.model.FactModels in project drools-wb by kiegroup.

the class DecisionTableXLSToDecisionTableGuidedConverter method makeNewJavaTypes.

private void makeNewJavaTypes(final Path context, final List<String> declaredTypes, final ConversionResult result) {
    if (declaredTypes == null || declaredTypes.isEmpty()) {
        return;
    }
    final KieModule module = moduleService.resolveModule(context);
    for (String declaredType : declaredTypes) {
        final FactModels factModels = FactModelPersistence.unmarshal(declaredType);
        final String packageName = factModels.getPackageName();
        final DataModel dataModel = new DataModelImpl();
        for (FactMetaModel factMetaModel : factModels.getModels()) {
            final DataObject dataObject = new DataObjectImpl(packageName, factMetaModel.getName());
            dataObject.setSuperClassName(factMetaModel.getSuperType());
            final List<AnnotationMetaModel> annotationMetaModel = factMetaModel.getAnnotations();
            addAnnotations(dataObject, annotationMetaModel);
            final List<FieldMetaModel> fields = factMetaModel.getFields();
            for (FieldMetaModel fieldMetaModel : fields) {
                final String fieldName = fieldMetaModel.getName();
                final String fieldType = fieldMetaModel.getType();
                // Guvnor 5.5 (and earlier) does not have MultipleType
                boolean isMultiple = false;
                ObjectProperty property = new ObjectPropertyImpl(fieldName, fieldType, isMultiple);
                // field has no annotation in Guvnor 5.5 (and earlier)
                dataObject.addProperty(property);
                result.addMessage("Created Java Type " + getJavaTypeFQCN(dataObject), ConversionMessageType.INFO);
            }
            dataModel.getDataObjects().add(dataObject);
        }
        modellerService.saveModel(dataModel, module);
    }
}
Also used : ObjectProperty(org.kie.workbench.common.services.datamodeller.core.ObjectProperty) FactMetaModel(org.drools.workbench.screens.factmodel.model.FactMetaModel) FactModels(org.drools.workbench.screens.factmodel.model.FactModels) DataObjectImpl(org.kie.workbench.common.services.datamodeller.core.impl.DataObjectImpl) FieldMetaModel(org.drools.workbench.screens.factmodel.model.FieldMetaModel) ObjectPropertyImpl(org.kie.workbench.common.services.datamodeller.core.impl.ObjectPropertyImpl) DataObject(org.kie.workbench.common.services.datamodeller.core.DataObject) DataModel(org.kie.workbench.common.services.datamodeller.core.DataModel) DataModelImpl(org.kie.workbench.common.services.datamodeller.core.impl.DataModelImpl) AnnotationMetaModel(org.drools.workbench.screens.factmodel.model.AnnotationMetaModel) KieModule(org.kie.workbench.common.services.shared.project.KieModule)

Example 2 with FactModels

use of org.drools.workbench.screens.factmodel.model.FactModels in project drools-wb by kiegroup.

the class FactModelPersistence method unmarshal.

public static FactModels unmarshal(final String content) {
    try {
        // De-serialize model
        final List<FactMetaModel> models = toModel(content);
        final FactModels factModels = new FactModels();
        factModels.getModels().addAll(models);
        // De-serialize Package name
        final String packageName = PackageNameParser.parsePackageName(content);
        factModels.setPackageName(packageName);
        // De-serialize imports
        final Imports imports = ImportsParser.parseImports(content);
        factModels.setImports(imports);
        return factModels;
    } catch (final DroolsParserException e) {
        throw new RuntimeException(e);
    }
// TODO {porcelli} needs define error handling strategy
// log.error( "Unable to parse the DRL for the model - falling back to text (" + e.getMessage() + ")" );
// RuleContentText text = new RuleContentText();
// text.content = item.getContent();
// asset.setContent( text );
}
Also used : FactMetaModel(org.drools.workbench.screens.factmodel.model.FactMetaModel) Imports(org.kie.soup.project.datamodel.imports.Imports) FactModels(org.drools.workbench.screens.factmodel.model.FactModels) DroolsParserException(org.drools.compiler.compiler.DroolsParserException)

Aggregations

FactMetaModel (org.drools.workbench.screens.factmodel.model.FactMetaModel)2 FactModels (org.drools.workbench.screens.factmodel.model.FactModels)2 DroolsParserException (org.drools.compiler.compiler.DroolsParserException)1 AnnotationMetaModel (org.drools.workbench.screens.factmodel.model.AnnotationMetaModel)1 FieldMetaModel (org.drools.workbench.screens.factmodel.model.FieldMetaModel)1 Imports (org.kie.soup.project.datamodel.imports.Imports)1 DataModel (org.kie.workbench.common.services.datamodeller.core.DataModel)1 DataObject (org.kie.workbench.common.services.datamodeller.core.DataObject)1 ObjectProperty (org.kie.workbench.common.services.datamodeller.core.ObjectProperty)1 DataModelImpl (org.kie.workbench.common.services.datamodeller.core.impl.DataModelImpl)1 DataObjectImpl (org.kie.workbench.common.services.datamodeller.core.impl.DataObjectImpl)1 ObjectPropertyImpl (org.kie.workbench.common.services.datamodeller.core.impl.ObjectPropertyImpl)1 KieModule (org.kie.workbench.common.services.shared.project.KieModule)1