use of org.kie.dmn.model.v1_2.dmndi.DMNLabel in project drools by kiegroup.
the class XStreamMarshaller method newXStream.
private XStream newXStream() {
XStream xStream = XStreamUtils.createNonTrustingXStream(staxDriver, Definitions.class.getClassLoader(), DMNXStream::from);
xStream.addPermission(new TypeHierarchyPermission(QName.class));
xStream.addPermission(new TypeHierarchyPermission(KieDMNModelInstrumentedBase.class));
xStream.alias("artifact", TArtifact.class);
xStream.alias("definitions", TDefinitions.class);
xStream.alias("inputData", TInputData.class);
xStream.alias("decision", TDecision.class);
xStream.alias("variable", TInformationItem.class);
xStream.alias("informationRequirement", TInformationRequirement.class);
xStream.alias("requiredInput", TDMNElementReference.class);
xStream.alias("literalExpression", TLiteralExpression.class);
xStream.alias("DMNElement", TDMNElement.class);
xStream.alias("allowedValues", TUnaryTests.class);
xStream.alias("artifact", TArtifact.class);
xStream.alias("association", TAssociation.class);
xStream.alias("authorityRequirement", TAuthorityRequirement.class);
xStream.alias("binding", TBinding.class);
xStream.alias("businessContextElement", TBusinessContextElement.class);
xStream.alias("businessKnowledgeModel", TBusinessKnowledgeModel.class);
xStream.alias("column", TInformationItem.class);
xStream.alias("context", TContext.class);
xStream.alias("contextEntry", TContextEntry.class);
xStream.alias("decision", TDecision.class);
xStream.alias("decisionMade", TDMNElementReference.class);
xStream.alias("decisionMaker", TDMNElementReference.class);
xStream.alias("decisionOwned", TDMNElementReference.class);
xStream.alias("decisionOwner", TDMNElementReference.class);
xStream.alias("decisionService", TDecisionService.class);
xStream.alias("decisionTable", TDecisionTable.class);
xStream.alias("defaultOutputEntry", TLiteralExpression.class);
xStream.alias("definitions", TDefinitions.class);
xStream.alias("drgElement", TDMNElementReference.class);
xStream.alias("elementCollection", TElementCollection.class);
xStream.alias("encapsulatedDecision", TDMNElementReference.class);
xStream.alias("encapsulatedLogic", TFunctionDefinition.class);
xStream.alias("expression", TExpression.class);
xStream.alias("formalParameter", TInformationItem.class);
xStream.alias("functionDefinition", TFunctionDefinition.class);
xStream.alias("impactedPerformanceIndicator", TDMNElementReference.class);
xStream.alias("impactingDecision", TDMNElementReference.class);
xStream.alias("import", TImport.class);
xStream.alias("import", TImport.class);
// TODO where?
xStream.alias("importedElement", String.class);
xStream.alias("importedValues", TImportedValues.class);
xStream.alias("informationItem", TInformationItem.class);
xStream.alias("informationRequirement", TInformationRequirement.class);
xStream.alias("input", TInputClause.class);
xStream.alias("inputData", TInputData.class);
xStream.alias("inputDecision", TDMNElementReference.class);
xStream.alias("inputEntry", TUnaryTests.class);
xStream.alias("inputExpression", TLiteralExpression.class);
xStream.alias("inputValues", TUnaryTests.class);
xStream.alias("invocation", TInvocation.class);
xStream.alias("itemComponent", TItemDefinition.class);
xStream.alias("itemDefinition", TItemDefinition.class);
xStream.alias("knowledgeRequirement", TKnowledgeRequirement.class);
xStream.alias("knowledgeSource", TKnowledgeSource.class);
xStream.alias("literalExpression", TLiteralExpression.class);
xStream.alias("namedElement", TNamedElement.class);
xStream.alias("organizationUnit", TOrganizationUnit.class);
xStream.alias("output", TOutputClause.class);
xStream.alias("outputDecision", TDMNElementReference.class);
xStream.alias("outputEntry", TLiteralExpression.class);
xStream.alias("outputValues", TUnaryTests.class);
xStream.alias("owner", TDMNElementReference.class);
xStream.alias("parameter", TInformationItem.class);
xStream.alias("performanceIndicator", TPerformanceIndicator.class);
xStream.alias("relation", TRelation.class);
xStream.alias("requiredAuthority", TDMNElementReference.class);
xStream.alias("requiredDecision", TDMNElementReference.class);
xStream.alias("requiredInput", TDMNElementReference.class);
xStream.alias("requiredKnowledge", TDMNElementReference.class);
xStream.alias("rule", TDecisionRule.class);
xStream.alias("sourceRef", TDMNElementReference.class);
xStream.alias("supportedObjective", TDMNElementReference.class);
xStream.alias("targetRef", TDMNElementReference.class);
xStream.alias("textAnnotation", TTextAnnotation.class);
// TODO where?
xStream.alias("type", String.class);
xStream.alias("typeRef", QName.class);
xStream.alias("usingProcess", TDMNElementReference.class);
xStream.alias("usingTask", TDMNElementReference.class);
xStream.alias("variable", TInformationItem.class);
xStream.alias("row", org.kie.dmn.model.v1_2.TList.class);
xStream.alias("list", org.kie.dmn.model.v1_2.TList.class);
xStream.alias("extensionElements", TDMNElement.TExtensionElements.class);
// Manually imported TEXT = String
xStream.alias(LiteralExpressionConverter.TEXT, String.class);
// unnecessary 'text' key repetition: xStream.alias( TextAnnotationConverter.TEXT, String.class );
// unnecessary 'text' key repetition: xStream.alias( UnaryTestsConverter.TEXT, String.class );
xStream.alias(DecisionConverter.QUESTION, String.class);
xStream.alias(DecisionConverter.ALLOWED_ANSWERS, String.class);
xStream.alias(DMNElementConverter.DESCRIPTION, String.class);
// unnecessary 'text' key repetition: xStream.alias("text", xsd:string.class );
// unnecessary 'text' key repetition: xStream.alias("text", xsd:string.class );
// unnecessary 'text' key repetition: xStream.alias("text", xsd:string.class );
// xStream.alias("question", xsd:string.class );
// xStream.alias("allowedAnswers", xsd:string.class );
// xStream.alias("description", xsd:string.class );
// DMN v1.2:
// Note, to comply with NS for XStream need also to adjust entries inside DMNModelInstrumentedBaseConverter
xStream.alias("annotation", TRuleAnnotationClause.class);
xStream.alias("annotationEntry", TRuleAnnotation.class);
xStream.registerConverter(new RuleAnnotationClauseConverter(xStream));
xStream.registerConverter(new RuleAnnotationConverter(xStream));
xStream.alias("DMNDI", DMNDI.class);
xStream.registerConverter(new DMNDIConverter(xStream));
xStream.alias("DMNDiagram", DMNDiagram.class);
xStream.registerConverter(new DMNDiagramConverter(xStream));
xStream.alias("DMNStyle", DMNStyle.class);
xStream.registerConverter(new DMNStyleConverter(xStream));
xStream.alias("Size", Dimension.class);
xStream.registerConverter(new DimensionConverter(xStream));
xStream.alias("DMNShape", DMNShape.class);
xStream.registerConverter(new DMNShapeConverter(xStream));
xStream.alias("FillColor", Color.class);
xStream.alias("StrokeColor", Color.class);
xStream.alias("FontColor", Color.class);
xStream.registerConverter(new ColorConverter(xStream));
xStream.alias("Bounds", Bounds.class);
xStream.registerConverter(new BoundsConverter(xStream));
xStream.alias("DMNLabel", DMNLabel.class);
xStream.registerConverter(new DMNLabelConverter(xStream));
xStream.alias("DMNEdge", DMNEdge.class);
xStream.registerConverter(new DMNEdgeConverter(xStream));
xStream.alias("DMNDecisionServiceDividerLine", DMNDecisionServiceDividerLine.class);
xStream.registerConverter(new DMNDecisionServiceDividerLineConverter(xStream));
xStream.alias("waypoint", Point.class);
xStream.registerConverter(new PointConverter(xStream));
xStream.alias("extension", DiagramElement.Extension.class);
xStream.alias(DMNLabelConverter.TEXT, String.class);
xStream.registerConverter(new AssociationConverter(xStream));
xStream.registerConverter(new AuthorityRequirementConverter(xStream));
xStream.registerConverter(new BindingConverter(xStream));
xStream.registerConverter(new BusinessKnowledgeModelConverter(xStream));
xStream.registerConverter(new ContextConverter(xStream));
xStream.registerConverter(new ContextEntryConverter(xStream));
xStream.registerConverter(new DecisionConverter(xStream));
xStream.registerConverter(new DecisionRuleConverter(xStream));
xStream.registerConverter(new DecisionServiceConverter(xStream));
xStream.registerConverter(new DecisionTableConverter(xStream));
xStream.registerConverter(new DefinitionsConverter(xStream));
xStream.registerConverter(new DMNElementReferenceConverter(xStream));
xStream.registerConverter(new FunctionDefinitionConverter(xStream));
xStream.registerConverter(new ImportConverter(xStream));
xStream.registerConverter(new ImportedValuesConverter(xStream));
xStream.registerConverter(new InformationItemConverter(xStream));
xStream.registerConverter(new InformationRequirementConverter(xStream));
xStream.registerConverter(new InputClauseConverter(xStream));
xStream.registerConverter(new InputDataConverter(xStream));
xStream.registerConverter(new InvocationConverter(xStream));
xStream.registerConverter(new ItemDefinitionConverter(xStream));
xStream.registerConverter(new KnowledgeRequirementConverter(xStream));
xStream.registerConverter(new KnowledgeSourceConverter(xStream));
xStream.registerConverter(new LiteralExpressionConverter(xStream));
xStream.registerConverter(new OrganizationUnitConverter(xStream));
xStream.registerConverter(new OutputClauseConverter(xStream));
xStream.registerConverter(new PerformanceIndicatorConverter(xStream));
xStream.registerConverter(new RelationConverter(xStream));
xStream.registerConverter(new TextAnnotationConverter(xStream));
xStream.registerConverter(new UnaryTestsConverter(xStream));
xStream.registerConverter(new QNameConverter());
xStream.registerConverter(new DMNListConverter(xStream));
xStream.registerConverter(new ElementCollectionConverter(xStream));
xStream.registerConverter(new ExtensionElementsConverter(xStream, extensionRegisters));
xStream.registerConverter(new DiagramElementExtensionConverter(xStream, extensionRegisters));
xStream.ignoreUnknownElements();
for (DMNExtensionRegister extensionRegister : extensionRegisters) {
extensionRegister.registerExtensionConverters(xStream);
}
return xStream;
}
use of org.kie.dmn.model.v1_2.dmndi.DMNLabel in project drools by kiegroup.
the class DMNShapeConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
DMNShape style = (DMNShape) parent;
if (style.getDMNLabel() != null) {
writeChildrenNode(writer, context, style.getDMNLabel(), "DMNLabel");
}
if (style.getDMNDecisionServiceDividerLine() != null) {
writeChildrenNode(writer, context, style.getDMNDecisionServiceDividerLine(), "DMNDecisionServiceDividerLine");
}
}
use of org.kie.dmn.model.v1_2.dmndi.DMNLabel in project drools by kiegroup.
the class DMNModelInstrumentedBaseConverter method writeAttributes.
@Override
protected void writeAttributes(HierarchicalStreamWriter writer, Object parent) {
KieDMNModelInstrumentedBase mib = (KieDMNModelInstrumentedBase) parent;
CustomStaxWriter staxWriter = ((CustomStaxWriter) writer.underlyingWriter());
for (Entry<String, String> kv : mib.getNsContext().entrySet()) {
try {
if (KieDMNModelInstrumentedBase.URI_DMN.equals(kv.getValue())) {
// skip as that is the default namespace xmlns<:prefix>=DMN is handled by the stax driver.
} else {
staxWriter.writeNamespace(kv.getKey(), kv.getValue());
}
} catch (Exception e) {
LOG.warn("The XML driver writer failed to manage writing namespace, namespaces prefixes could be wrong in the resulting file.", e);
}
}
for (Entry<QName, String> kv : mib.getAdditionalAttributes().entrySet()) {
staxWriter.addAttribute(kv.getKey().getPrefix() + ":" + kv.getKey().getLocalPart(), kv.getValue());
}
if (parent instanceof TDefinitions) {
TDefinitions tDefinitions = (TDefinitions) parent;
String dmndiPrefix = tDefinitions.getPrefixForNamespaceURI(KieDMNModelInstrumentedBase.URI_DMNDI).orElse("dmndi");
String diPrefix = tDefinitions.getPrefixForNamespaceURI(KieDMNModelInstrumentedBase.URI_DI).orElse("di");
String dcPrefix = tDefinitions.getPrefixForNamespaceURI(KieDMNModelInstrumentedBase.URI_DC).orElse("dc");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNDI", dmndiPrefix), "DMNDI");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNDiagram", dmndiPrefix), "DMNDiagram");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNStyle", dmndiPrefix), "style");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNStyle", dmndiPrefix), "DMNStyle");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNShape", dmndiPrefix), "DMNShape");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNEdge", dmndiPrefix), "DMNEdge");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNDecisionServiceDividerLine", dmndiPrefix), "DMNDecisionServiceDividerLine");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "DMNLabel", dmndiPrefix), "DMNLabel");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, DMNLabelConverter.TEXT, dmndiPrefix), DMNLabelConverter.TEXT);
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "Size", dmndiPrefix), "Size");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "FillColor", dmndiPrefix), "FillColor");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "StrokeColor", dmndiPrefix), "StrokeColor");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DMNDI, "FontColor", dmndiPrefix), "FontColor");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DI, "waypoint", diPrefix), "waypoint");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DI, "extension", diPrefix), "extension");
staxWriter.getQNameMap().registerMapping(new QName(KieDMNModelInstrumentedBase.URI_DC, "Bounds", dcPrefix), "Bounds");
}
}
Aggregations