diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/onap/aai/graphgraph/velocity/VelocityEntityProperty.java | 8 | ||||
-rw-r--r-- | src/main/resources/model_export.vm | 65 |
2 files changed, 61 insertions, 12 deletions
diff --git a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityEntityProperty.java b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityEntityProperty.java index 9ee2fbb..fcd2106 100644 --- a/src/main/java/org/onap/aai/graphgraph/velocity/VelocityEntityProperty.java +++ b/src/main/java/org/onap/aai/graphgraph/velocity/VelocityEntityProperty.java @@ -1,14 +1,16 @@ package org.onap.aai.graphgraph.velocity; +import java.util.UUID; import org.onap.aai.graphgraph.dto.Property; public class VelocityEntityProperty extends Property { private final VelocityEntity entity; - + private final String propertyId; public VelocityEntityProperty(String propertyName, String propertyValue, VelocityEntity entity) { super(propertyName, propertyValue); this.entity = entity; + propertyId = entity != null ? entity.getRandomId() : UUID.randomUUID().toString(); } public String getEntityId() { @@ -23,6 +25,10 @@ public class VelocityEntityProperty extends Property { return entity != null; } + public String getPropertyId() { + return propertyId; + } + @Override public String toString() { return "VelocityEntityProperty{" + diff --git a/src/main/resources/model_export.vm b/src/main/resources/model_export.vm index 01e62d4..c461d59 100644 --- a/src/main/resources/model_export.vm +++ b/src/main/resources/model_export.vm @@ -1,12 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" - xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" - xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Z9InoLIpEemXwfLFUQ7Icw" - name="AAIModel"> - <packageImport xmi:type="uml:PackageImport" xmi:id="_aFqRgLIpEemXwfLFUQ7Icw"> - <importedPackage xmi:type="uml:Model" - href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> - </packageImport> +<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:OpenModel_Profile="http:///schemas/OpenModel_Profile/_FV6mYP4LEeiJYfiYi3RAYQ/29" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/OpenModel_Profile/_FV6mYP4LEeiJYfiYi3RAYQ/29 ../OpenModelProfile/OpenModel_Profile.profile.uml#_FV_e4P4LEeiJYfiYi3RAYQ"> + <uml:Model xmi:id="_Z9InoLIpEemXwfLFUQ7Icw" name="AAIModel"> + <packageImport xmi:type="uml:PackageImport" xmi:id="_aFqRgLIpEemXwfLFUQ7Icw"> + <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> + </packageImport> + <packagedElement xmi:type="uml:Package" xmi:id="_dl4P8LIpEemXwfLFUQ7Icw" name="Associations"> #foreach($association in $associationList) <packagedElement xmi:type="uml:Association" xmi:id="$association.id" @@ -77,7 +75,7 @@ #end #foreach($prop in $entity.properties) #if($prop.propertyValue.contains("java.lang")) - <ownedAttribute xmi:type="uml:Property" xmi:id="$entity.randomId" + <ownedAttribute xmi:type="uml:Property" xmi:id="$prop.propertyId" name="$prop.propertyName"> #if($prop.propertyValue == "java.lang.String") <type xmi:type="uml:PrimitiveType" @@ -99,11 +97,56 @@ #elseif(! $prop.hasEntity) #* <ownedAttribute xmi:type="uml:Property" xmi:id="$entity.randomId" name="$prop.propertyName"/>*# #else - <ownedAttribute xmi:type="uml:Property" xmi:id="$entity.randomId" + <ownedAttribute xmi:type="uml:Property" xmi:id="$prop.propertyId" name="$prop.getEntityName()" type="$prop.getEntityId()"/> #end #end </packagedElement> #end </packagedElement> -</uml:Model>
\ No newline at end of file + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_o4e8sN4HEemqKsY3En9wuw"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o5H14N4HEemqKsY3En9wuw" source="PapyrusVersion"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o5Ic8N4HEemqKsY3En9wuw" key="Version" value="0.0.4"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o5Ic8d4HEemqKsY3En9wuw" key="Comment" value="Metaclasses Property and Stereotype added via <Element Import>."/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o5Ic8t4HEemqKsY3En9wuw" key="Copyright" value=""/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o5Ic894HEemqKsY3En9wuw" key="Date" value="2017-08-08"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o5Ic9N4HEemqKsY3En9wuw" key="Author" value=""/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o4lDUN4HEemqKsY3En9wuw" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="../ProfileLifecycleProfile/ProfileLifecycle_Profile.profile.uml#_AL3HsHweEee8oZaf2rRQlg"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="../ProfileLifecycleProfile/ProfileLifecycle_Profile.profile.uml#_CBpGoEdZEearpawF38eisA"/> + </profileApplication> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_o5JEAN4HEemqKsY3En9wuw"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pCSY8d4HEemqKsY3En9wuw" source="PapyrusVersion"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pCSY8t4HEemqKsY3En9wuw" key="Version" value="0.2.17"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pCTAAN4HEemqKsY3En9wuw" key="Comment" value="Editorial corrections in the description of OpenModelAttribute::partOfObjectKey and Reference."/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pCTAAd4HEemqKsY3En9wuw" key="Copyright" value=""/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pCTAAt4HEemqKsY3En9wuw" key="Date" value="2018-12-12"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pCTAA94HEemqKsY3En9wuw" key="Author" value=""/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o5JrEN4HEemqKsY3En9wuw" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="../OpenModelProfile/OpenModel_Profile.profile.uml#_FV_e4P4LEeiJYfiYi3RAYQ"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="../OpenModelProfile/OpenModel_Profile.profile.uml#_m1xqsHBgEd6FKu9XX1078A"/> + </profileApplication> +</uml:Model> +<OpenModel_Profile:OpenModelStatement xmi:id="_o-KG4N4HEemqKsY3En9wuw" base_Model="_Z9InoLIpEemXwfLFUQ7Icw"/> +#foreach($association in $associationList) +<OpenModel_Profile:OpenModelAttribute xmi:id="$association.randomId" base_StructuralFeature="$association.fromId"/> +#if( ! $association.isComposition) +<OpenModel_Profile:OpenModelAttribute xmi:id="$association.randomId" base_StructuralFeature="$association.toId"/> +#end +#end +#foreach($entity in $entityList) + <OpenModel_Profile:OpenModelClass xmi:id="$entity.randomId" base_Class="$entity.id"/> + #foreach($association in $entity.neighbours) + #if( $association.isComposition) + <OpenModel_Profile:OpenModelAttribute xmi:id="$association.randomId" base_StructuralFeature="$association.toId"/> + #end + #end + #foreach($prop in $entity.properties) + <OpenModel_Profile:OpenModelAttribute xmi:id="$entity.randomId" base_StructuralFeature="$prop.propertyId"/> + #end +#end +</xmi:XMI>
\ No newline at end of file |