Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if feat.many:
index = parent.__getattribute__(name).index(obj)
return '{0}/@{1}.{2}'.format(_build_path(parent), name, str(index))
else:
return '{0}/{1}'.format(_build_path(parent), name)
if __name__ == '__main__':
rset = ResourceSet()
# UMLPrimitiveTypes Creation
umltypes = Ecore.EPackage('umltypes')
String = Ecore.EDataType('String', str)
Boolean = Ecore.EDataType('Boolean', bool, False)
Integer = Ecore.EDataType('Integer', int, 0)
UnlimitedNatural = Ecore.EDataType('UnlimitedNatural', int, 0)
Real = Ecore.EDataType('Real', float, 0.0)
umltypes.eClassifiers.extend([String, Boolean, Integer, UnlimitedNatural, Real])
rset.resources['platform:/plugin/org.eclipse.uml2.types/model/Types.ecore'] = umltypes
# Register Ecore metamodel instance
resource = rset.get_resource(URI('xmi-tests/Ecore.ecore'))
rset.resources['platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore'] = resource.contents[0]
resource = rset.get_resource(URI('xmi-tests/UML.ecore'))
type_as_factory=True)
EFeatureMapEntry = EDataType('EFeatureMapEntry', dict, type_as_factory=True)
EDiagnosticChain = EDataType('EDiagnosticChain', str)
ENativeType = EDataType('ENativeType', object)
EJavaObject = EDataType('EJavaObject', object)
EDate = EDataType('EDate', datetime,
from_string=parse_date,
to_string=lambda d: d.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))
EBigDecimal = EDataType('EBigDecimal', Decimal, from_string=Decimal)
EByte = EDataType('EByte', bytes)
EByteObject = EDataType('EByteObject', bytes)
EByteArray = EDataType('EByteArray', bytearray)
EChar = EDataType('EChar', str)
ECharacterObject = EDataType('ECharacterObject', str)
EShort = EDataType('EShort', int, from_string=int)
EJavaClass = EDataType('EJavaClass', type)
EModelElement.eAnnotations = EReference('eAnnotations', EAnnotation,
upper=-1, containment=True)
EAnnotation.eModelElement = EReference('eModelElement', EModelElement,
eOpposite=EModelElement.eAnnotations)
EAnnotation.source = EAttribute('source', EString)
EAnnotation.details = EAttribute('details', EStringToStringMapEntry)
EAnnotation.references = EReference('references', EObject, upper=-1)
EAnnotation.contents = EReference('contents', EObject, upper=-1,
containment=True)
ETypedElement.ordered = EAttribute('ordered', EBoolean, default_value=True)
ETypedElement.unique = EAttribute('unique', EBoolean, default_value=True)
ETypedElement._lower = EAttribute('lower', EInteger, derived=True)
ETypedElement.lowerBound = EAttribute('lowerBound', EInteger)
Double = EDataType('Double', instanceClassName='double', from_string=float)
DoubleObject = EDataType('DoubleObject', instanceClassName='java.lang.Double',
from_string=float)
Duration = EDataType('Duration',
instanceClassName='javax.xml.datatype.Duration')
ENTITIES = EDataType('ENTITIES', instanceClassName='java.util.List')
ENTITIESBase = EDataType('ENTITIESBase', instanceClassName='java.util.List')
ENTITY = EDataType('ENTITY', instanceClassName='java.lang.String')
Float = EDataType('Float', instanceClassName='float', from_string=float)
FloatObject = EDataType('FloatObject', instanceClassName='java.lang.Float',
from_string=float)
GDay = EDataType('GDay',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GMonth = EDataType('GMonth',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GMonthDay = EDataType('GMonthDay',
instanceClassName='javax.xml.datatype.'
'XMLGregorianCalendar')
GYear = EDataType('GYear',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
# meta-meta level
EString = EDataType('EString', str)
ENamedElement.name = EAttribute('name', EString)
ENamedElement.name._isset.add(ENamedElement.name) # special case
EString._isset.add(ENamedElement.name) # special case
EBoolean = EDataType('EBoolean', bool, False,
to_string=lambda x: str(x).lower(),
from_string=lambda x: x in ['True', 'true'])
EBooleanObject = EDataType('EBooleanObject', bool,
to_string=lambda x: str(x).lower(),
from_string=lambda x: x in ['True', 'true'])
EInteger = EDataType('EInteger', int, 0, from_string=int)
EInt = EDataType('EInt', int, 0, from_string=int)
ELong = EDataType('ELong', int, 0, from_string=int)
ELongObject = EDataType('ELongObject', int, from_string=int)
EIntegerObject = EDataType('EIntegerObject', int, from_string=int)
EBigInteger = EDataType('EBigInteger', int, from_string=int)
EDouble = EDataType('EDouble', float, 0.0, from_string=float)
EDoubleObject = EDataType('EDoubleObject', float, from_string=float)
EFloat = EDataType('EFloat', float, 0.0, from_string=float)
EFloatObject = EDataType('EFloatObject', float, from_string=float)
EStringToStringMapEntry = EDataType('EStringToStringMapEntry', dict,
type_as_factory=True)
EFeatureMapEntry = EDataType('EFeatureMapEntry', dict, type_as_factory=True)
EDiagnosticChain = EDataType('EDiagnosticChain', str)
ENativeType = EDataType('ENativeType', object)
EJavaObject = EDataType('EJavaObject', object)
EDate = EDataType('EDate', datetime,
from_string=parse_date,
name = 'type'
nsURI = 'http://www.eclipse.org/emf/2003/XMLType'
nsPrefix = 'ecore.xml.type'
eClass = EPackage(name=name, nsURI=nsURI, nsPrefix=nsPrefix)
eClassifiers = {}
getEClassifier = partial(Ecore.getEClassifier, searchspace=eClassifiers)
AnySimpleType = EDataType('AnySimpleType',
instanceClassName='java.lang.Object')
AnyURI = EDataType('AnyURI', instanceClassName='java.lang.String')
Base64Binary = EDataType('Base64Binary', instanceClassName='byte[]')
Boolean = EDataType('Boolean', instanceClassName='boolean',
to_string=lambda x: str(x).lower(),
from_string=lambda x: x in ['True', 'true'])
BooleanObject = EDataType('BooleanObject',
instanceClassName='java.lang.Boolean',
to_string=lambda x: str(x).lower(),
from_string=lambda x: x in ['True', 'true'])
Byte = EDataType('Byte', instanceClassName='byte')
ByteObject = EDataType('ByteObject', instanceClassName='java.lang.Byte')
Date = EDataType('Date',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
DoubleObject = EDataType('DoubleObject', instanceClassName='java.lang.Double',
from_string=float)
Duration = EDataType('Duration',
instanceClassName='javax.xml.datatype.Duration')
ENTITIES = EDataType('ENTITIES', instanceClassName='java.util.List')
ENTITIESBase = EDataType('ENTITIESBase', instanceClassName='java.util.List')
ENTITY = EDataType('ENTITY', instanceClassName='java.lang.String')
Float = EDataType('Float', instanceClassName='float', from_string=float)
FloatObject = EDataType('FloatObject', instanceClassName='java.lang.Float',
from_string=float)
GDay = EDataType('GDay',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GMonth = EDataType('GMonth',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GMonthDay = EDataType('GMonthDay',
instanceClassName='javax.xml.datatype.'
'XMLGregorianCalendar')
GYear = EDataType('GYear',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GYearMonth = EDataType('GYearMonth',
NMTOKEN = EDataType('NMTOKEN', instanceClassName='java.lang.String')
NMTOKENS = EDataType('NMTOKENS', instanceClassName='java.util.List')
NMTOKENSBase = EDataType('NMTOKENSBase', instanceClassName='java.util.List')
NonNegativeInteger = EDataType('NonNegativeInteger',
instanceClassName='java.math.BigInteger',
from_string=int)
NonPositiveInteger = EDataType('NonPositiveInteger',
instanceClassName='java.math.BigInteger',
from_string=int)
NormalizedString = EDataType('NormalizedString',
instanceClassName='java.lang.String')
NOTATION = EDataType('NOTATION', instanceClassName='javax.xml.namespace.QName')
PositiveInteger = EDataType('PositiveInteger',
instanceClassName='java.math.BigInteger',
from_string=int)
QName = EDataType('QName', instanceClassName='javax.xml.namespace.QName')
Short = EDataType('Short', instanceClassName='short', from_string=int)
ShortObject = EDataType('ShortObject', instanceClassName='java.lang.Short',
from_string=int)
String = EDataType('String', instanceClassName='java.lang.String')
EPackage.eSubpackages = EReference('eSubpackages', EPackage,
upper=-1, containment=True)
EPackage.eSuperPackage = EReference('eSuperPackage', EPackage,
lower=1, eOpposite=EPackage.eSubpackages)
EClassifier.ePackage = EReference('ePackage', EPackage,
eOpposite=EPackage.eClassifiers)
EClassifier.eTypeParameters = EReference('eTypeParameters', ETypeParameter,
upper=-1, containment=True)
EClassifier.instanceTypeName = EAttribute('instanceTypeName', EString)
EClassifier.instanceClass = EAttribute('instanceClass', EJavaClass)
EClassifier.defaultValue = EAttribute('defaultValue', EJavaObject)
EClassifier.instanceTypeName = EAttribute('instanceTypeName', EString,
volatile=True, unsettable=True)
EDataType.instanceClassName_ = EAttribute('instanceClassName', EString)
EDataType.serializable = EAttribute('serializable', EBoolean)
EClass.abstract = EAttribute('abstract', EBoolean)
EClass.eStructuralFeatures = EReference('eStructuralFeatures',
EStructuralFeature,
upper=-1, containment=True)
EClass.eGenericSuperTypes = EReference('eGenericSuperTypes', EGenericType,
containment=True, upper=-1)
EClass.eAttributes_ = EReference('eAttributes', EAttribute,
upper=-1, derived=True)
EClass.eReferences_ = EReference('eReferences', EReference,
upper=-1, derived=True)
EClass.eSuperTypes = EReference('eSuperTypes', EClass, upper=-1)
EClass.eOperations = EReference('eOperations', EOperation,
upper=-1, containment=True)
EClass.instanceClassName = EAttribute('instanceClassName', EString)
GYear = EDataType('GYear',
instanceClassName='javax.xml.datatype.XMLGregorianCalendar')
GYearMonth = EDataType('GYearMonth',
instanceClassName='javax.xml.datatype.'
'XMLGregorianCalendar')
HexBinary = EDataType('HexBinary', instanceClassName='byte[]')
ID = EDataType('ID', instanceClassName='java.lang.String')
IDREF = EDataType('IDREF', instanceClassName='java.lang.String')
IDREFS = EDataType('IDREFS', instanceClassName='java.util.List')
IDREFSBase = EDataType('IDREFSBase', instanceClassName='java.util.List')
Int = EDataType('Int', instanceClassName='int', from_string=int)
Integer = EDataType('Integer', instanceClassName='java.math.BigInteger',
from_string=int)
IntObject = EDataType('IntObject', instanceClassName='java.lang.Integer',
from_string=int)
Language = EDataType('Language', instanceClassName='java.lang.String')
Long = EDataType('Long', instanceClassName='long', from_string=int)
LongObject = EDataType('LongObject', instanceClassName='java.lang.Long',
from_string=int)
EBigInteger = EDataType('EBigInteger', int, from_string=int)
EDouble = EDataType('EDouble', float, 0.0, from_string=float)
EDoubleObject = EDataType('EDoubleObject', float, from_string=float)
EFloat = EDataType('EFloat', float, 0.0, from_string=float)
EFloatObject = EDataType('EFloatObject', float, from_string=float)
EStringToStringMapEntry = EDataType('EStringToStringMapEntry', dict,
type_as_factory=True)
EFeatureMapEntry = EDataType('EFeatureMapEntry', dict, type_as_factory=True)
EDiagnosticChain = EDataType('EDiagnosticChain', str)
ENativeType = EDataType('ENativeType', object)
EJavaObject = EDataType('EJavaObject', object)
EDate = EDataType('EDate', datetime,
from_string=parse_date,
to_string=lambda d: d.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))
EBigDecimal = EDataType('EBigDecimal', Decimal, from_string=Decimal)
EByte = EDataType('EByte', bytes)
EByteObject = EDataType('EByteObject', bytes)
EByteArray = EDataType('EByteArray', bytearray)
EChar = EDataType('EChar', str)
ECharacterObject = EDataType('ECharacterObject', str)
EShort = EDataType('EShort', int, from_string=int)
EJavaClass = EDataType('EJavaClass', type)
EModelElement.eAnnotations = EReference('eAnnotations', EAnnotation,
upper=-1, containment=True)
EAnnotation.eModelElement = EReference('eModelElement', EModelElement,
eOpposite=EModelElement.eAnnotations)
EAnnotation.source = EAttribute('source', EString)
EAnnotation.details = EAttribute('details', EStringToStringMapEntry)
EAnnotation.references = EReference('references', EObject, upper=-1)
EAnnotation.contents = EReference('contents', EObject, upper=-1,