Java 类org.eclipse.emf.ecore.EcoreFactory 实例源码

项目:OpenSPIFe    文件:TestChangeDescriptionReverse.java   
public void testTwo() throws Exception {
    new TestHelper() {
        Resource ecoreResource;

        @Override
        void loadResources(ResourceSet resourceSet) {
            ecoreResource = resourceSet.getResource(URI.createURI("platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore"), true);
        }

        @Override
        void makeChanges() {
            EPackage ePackage = (EPackage) ecoreResource.getContents().get(0);
            EClass eClass = EcoreFactory.eINSTANCE.createEClass();
            ePackage.getEClassifiers().add(5, eClass);
            eClass.setName("NewClass");
            EAnnotation eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
            eClass.getEAnnotations().add(eAnnotation);
            eAnnotation.getContents().add(0, ePackage.getEClassifiers().get(2));
        }
    }.doit();
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
private EEnum createEnumerationType(EnumerationType type) {
    EEnum eenum = EcoreFactory.eINSTANCE.createEEnum();
    eenum.setName(type.getName());
    int value = 0;
    for (EnumerationLiteral literal : type.getLiterals()) {
        EEnumLiteral eenumliteral = EcoreFactory.eINSTANCE.createEEnumLiteral();
        eenum.getELiterals().add(eenumliteral);
        eenumliteral.setName(literal.getName());
        eenumliteral.setLiteral(literal.getName());
        eenumliteral.setValue(value);
        value++;
        if (literal.getDocumentation() != null) {
            attachInfo(eenumliteral, literal.getDocumentation());
        }
    }
    if (type.getDocumentation() != null) {
        attachInfo(eenum, type.getDocumentation());
    }
    return eenum;
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
private EDataType createStringType(StringType type) {
    EDataType edatatype = EcoreFactory.eINSTANCE.createEDataType();
    edatatype.setName(type.getName());
    edatatype.setInstanceTypeName("java.lang.String");
    if (type.getDocumentation() != null) {
        attachInfo(edatatype, type.getDocumentation());
    }
    if (type.isSetLength() || type.isSetMaxLength() || type.isSetMinLength() || type.getPattern() != null) {
        EAnnotation eannotation = EcoreFactory.eINSTANCE.createEAnnotation();
        edatatype.getEAnnotations().add(eannotation);
        eannotation.setSource("http:///org/eclipse/emf/ecore/util/ExtendedMetaData");
        if (type.isSetLength())
            eannotation.getDetails().put("length", Integer.toString(type.getLength()));
        if (type.isSetMaxLength())
            eannotation.getDetails().put("maxLength", Integer.toString(type.getMaxLength()));
        if (type.isSetMinLength())
            eannotation.getDetails().put("minLength", Integer.toString(type.getMinLength()));
        if (type.getPattern() != null) {
            if (type.getPattern() != "")
                eannotation.getDetails().put("pattern", type.getPattern());
        }
    }
    return edatatype;
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
protected void convertConstraints(EClass eClass, Type type) {
    if (type.getConstraints().size() > 0) {
        // EMF Annotation
        EAnnotation annotation_emf = EcoreFactory.eINSTANCE.createEAnnotation();
        annotation_emf.setSource("http://www.eclipse.org/emf/2002/Ecore");
        String value = "";
        // OCL Annotation
        EAnnotation annotation_ocl = EcoreFactory.eINSTANCE.createEAnnotation();
        annotation_ocl.setSource("http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot");
        for (Constraint constraint : type.getConstraints()) {
            annotation_ocl.getDetails().put(constraint.getName(),
                    convertbody(constraint.getBody(), (Extension) type.eContainer()));
            if (value.equals("")) {
                value += constraint.getName();
            } else {
                value += " ";
                value += constraint.getName();
            }
            // convertbody(constraint.getBody(), (Extension)
            // type.eContainer());
        }
        annotation_emf.getDetails().put("constraints", value);
        eClass.getEAnnotations().add(annotation_emf);
        eClass.getEAnnotations().add(annotation_ocl);
    }
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
/**
 * Convert an OCCI action to an Ecore operation.
 * 
 * @param action
 *            the OCCI action to convert.
 * @return the resulting Ecore operation.
 */
protected EOperation convertAction(Action action) {
    // Create the Ecore operation.
    EOperation eOperation = EcoreFactory.eINSTANCE.createEOperation();
    // Set the name of the Ecore operation.
    eOperation.setName(ConverterUtils.formatName(action.getTerm()));
    // Convert all attributes of the OCCI action.
    for (Attribute attribute : action.getAttributes()) {
        // Each OCCI attribute of the OCCI action is converted to an Ecore
        // parameter of the Ecore operation.
        EParameter convertParameter = convertParameter(attribute);
        if (convertParameter != null) {
            // Add the Ecore parameter to the Ecore operation.
            eOperation.getEParameters().add(convertParameter);
        }
    }
    attachInfo(eOperation, action.getTitle());

    return eOperation;
}
项目:OCCI-Studio    文件:OCCIExtension2Ecore.java   
/**
 * Convert an OCCI action's attribute to an Ecore operation parameter.
 * 
 * @param attribute
 *            the OCCI attribute to convert.
 * @return the resulting Ecore operation parameter.
 */
protected EParameter convertParameter(Attribute attribute) {
    // Create an Ecore parameter.
    EParameter eParam = EcoreFactory.eINSTANCE.createEParameter();
    // Set the name of the Ecore parameter.
    eParam.setName(Occi2Ecore.convertOcciAttributeName2EcoreAttributeName(attribute.getName()));

    // Set the type of the Ecore parameter.
    eParam.setEType(getMappedType(attribute.getType()));

    // If the OCCI attribute is required then the Ecore parameter is also
    // required.
    if (attribute.isRequired()) {
        eParam.setLowerBound(1);
    }
    attachInfo(eParam, attribute.getDescription());

    return eParam;
}
项目:benchmarx    文件:PersonHelper.java   
public void setBirthdayOfFatherBart(PersonRegister register) {
        Calendar cal = Calendar.getInstance();
        Date date;

//      Person bart = getFromRegister("Simpson, Bart", register);
//      cal.set(2013, Calendar.MARCH, 9, 10, 11, 12);
//      date = cal.getTime();
//      bart.setBirthday(date);

        List<Person> barts = getAllFromRegister("Simpson, Bart", register);
        Date defaultDate = (Date) EcoreFactory.eINSTANCE.createFromString(EcorePackage.eINSTANCE.getEDate(), "0000-1-1");
        for (Person bart : barts) {
            if  (bart.getBirthday().equals(defaultDate)) {
                cal.set(2013, Calendar.MARCH, 9, 10, 11, 12);
                date = cal.getTime();
                bart.setBirthday(date);
                return;
            }
        }
    }
项目:xtext-extras    文件:EcoreResourceDescriptionManagerTest.java   
@Test public void testNestedPackage() throws Exception {
    Resource resource = new XMIResourceImpl();
    EPackage parent = EcoreFactory.eINSTANCE.createEPackage();
    parent.setName("parent");
    parent.setNsURI("http://parent");
    EPackage child = EcoreFactory.eINSTANCE.createEPackage();
    child.setName("child");
    child.setNsURI("http://child");
    EClass eClass = EcoreFactory.eINSTANCE.createEClass();
    eClass.setName("Test");
    child.getEClassifiers().add(eClass);
    parent.getESubpackages().add(child);
    resource.getContents().add(parent);
    Map<QualifiedName, IEObjectDescription> index = createIndex(resource);
    checkEntry(index, parent, false, "parent");
    checkEntry(index, child, false, "parent", "child");
    checkEntry(index, eClass, false, "parent", "child", "Test");
    checkEntry(index, parent, true, "http://parent");
    checkEntry(index, child, true, "http://child");
    checkEntry(index, eClass, true, "http://child", "Test");
    assertEquals(6,index.size());
}
项目:xtext-extras    文件:EcoreResourceDescriptionManagerTest.java   
@Test public void testMissingMiddleName() {
    Resource resource = new XMIResourceImpl();
    EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
    ePackage.setName("test");
    ePackage.setNsURI("http://test");
    EClass unnamedEClass = EcoreFactory.eINSTANCE.createEClass();
    EAttribute eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
    eAttribute.setName("test");
    unnamedEClass.getEStructuralFeatures().add(eAttribute);
    ePackage.getEClassifiers().add(unnamedEClass);
    resource.getContents().add(ePackage);
    Map<QualifiedName, IEObjectDescription> index = createIndex(resource);
    checkEntry(index, ePackage, false, "test");
    checkEntry(index, ePackage, true, "http://test");
    assertEquals(2,index.size());

    unnamedEClass.setName("Test");
    index = createIndex(resource);
    checkEntry(index, ePackage, false, "test");
    checkEntry(index, ePackage, true, "http://test");
    checkEntry(index, unnamedEClass, false, "test", "Test");
    checkEntry(index, unnamedEClass, true, "http://test", "Test");
    checkEntry(index, eAttribute, false, "test", "Test", "test");
    checkEntry(index, eAttribute, true, "http://test", "Test", "test");
    assertEquals(6,index.size());
}
项目:xtext-core    文件:EClassifierInfo.java   
private EStructuralFeature createFeatureWith(String featureName, EClassifier featureClassifier,
        boolean isMultivalue, boolean isContainment) {
    EStructuralFeature newFeature;

    if (featureClassifier instanceof EClass) {
        EReference reference = EcoreFactory.eINSTANCE.createEReference();
        reference.setContainment(isContainment);
        newFeature = reference;
    } else {
        newFeature = EcoreFactory.eINSTANCE.createEAttribute();
    }
    newFeature.setName(featureName);
    newFeature.setEType(featureClassifier);
    newFeature.setLowerBound(0);
    newFeature.setUpperBound(isMultivalue ? -1 : 1);
    newFeature.setUnique(!isMultivalue || (isContainment && featureClassifier instanceof EClass));
    if (newFeature.getEType() instanceof EEnum) {
        newFeature.setDefaultValue(null);
    }
    return newFeature;
}
项目:xtext-core    文件:XtextLinkingService.java   
private List<EObject> createPackage(GeneratedMetamodel generatedMetamodel, ILeafNode text) {
    final String nsURI = getMetamodelNsURI(text);
    final URI uri = URI.createURI(nsURI);
    if (uri == null || isReferencedByUsedGrammar(generatedMetamodel, nsURI))
        return Collections.emptyList();
    EPackage pack = ((GeneratedMetamodelImpl)generatedMetamodel).basicGetEPackage();
    if (pack != null && !pack.eIsProxy())
        return singletonList((EObject)pack);
    final EPackage generatedEPackage = EcoreFactory.eINSTANCE.createEPackage();
    generatedEPackage.setName(generatedMetamodel.getName());
    generatedEPackage.setNsPrefix(generatedMetamodel.getName());
    generatedEPackage.setNsURI(nsURI);
    final Resource generatedPackageResource = new EcoreResourceFactoryImpl().createResource(uri);
    XtextResourceSet resourceSet = (XtextResourceSet) generatedMetamodel.eResource().getResourceSet();
    if (!resourceSet.getURIResourceMap().containsKey(generatedPackageResource.getURI())) {
        generatedMetamodel.eResource().getResourceSet().getResources().add(generatedPackageResource);
    } else {
        generatedPackageResource.setURI(URI.createURI(nsURI+"_"+generatedMetamodel.hashCode()));
        generatedMetamodel.eResource().getResourceSet().getResources().add(generatedPackageResource);
    }
    generatedPackageResource.getContents().add(generatedEPackage);
    return Collections.<EObject>singletonList(generatedEPackage);
}
项目:xtext-core    文件:SerializationUtilTest.java   
@Test
public void testFillIdToEObjectMap() {
    EPackage pack = EcoreFactory.eINSTANCE.createEPackage();
    EClass root = createEClass(pack, "Root");
    EClass someType = createEClass(pack, "SomeType");

    EReference ref1 = addEReference(root, someType, "ref1", false);
    EReference ref2 = addEReference(root, someType, "ref2", true);

    EFactory factory = pack.getEFactoryInstance();
    EObject rootObject = factory.create(root);
    EObject someTypeObject1 = factory.create(someType);
    EObject someTypeObject2 = factory.create(someType);
    rootObject.eSet(ref1, someTypeObject1);
    rootObject.eSet(ref2, someTypeObject2);

    List<EObject> map = new ArrayList<>();
    SerializationUtil.fillIdToEObjectMap(rootObject, map);
    assertTrue(map.contains(rootObject));
    assertTrue(map.contains(someTypeObject1));
    assertFalse(map.contains(someTypeObject2));
    assertEquals(2, map.size());
}
项目:xtext-core    文件:CompositeEValidatorTest.java   
/** Test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=396726 */
@Test public void testNoShortCircuiting() {
    CompositeEValidator compositeValidator = new CompositeEValidator();
    compositeValidator.setEqualitySupportProvider(new Provider<CompositeEValidator.EValidatorEqualitySupport>() {
        @Override
        public EValidatorEqualitySupport get() {
            return new CompositeEValidator.EValidatorEqualitySupport();
        }
    });
    assertEquals(1, compositeValidator.getContents().size());

    compositeValidator.addValidator(EcoreValidator.INSTANCE);
    assertEquals(2, compositeValidator.getContents().size());

    TestEcoreValidator testValidator = new TestEcoreValidator();
    compositeValidator.addValidator(testValidator);
    assertEquals(3, compositeValidator.getContents().size());

    compositeValidator.validate(EcoreFactory.eINSTANCE.createEClass(), new BasicDiagnostic(), null);
    assertTrue(testValidator.wasCalled());
}
项目:xtext-core    文件:NamesAreUniqueValidationHelperTest.java   
@Test public void testCreatedErrors_07() {
    maxCallCount = 0;
    ImmutableList<ENamedElement> elements = ImmutableList.of(
            createEPackage(),
            createEDataType(),
            EcoreFactory.eINSTANCE.createEEnumLiteral()
    );
    for(ENamedElement classifier: elements) {
        classifier.setName("Same");
    }
    expected.add(elements.get(0));
    expected.add(elements.get(2));
    helper.checkUniqueNames(
            Scopes.scopedElementsFor(elements), 
            this, this);
    assertEquals(elements.size(), callCount);
    assertTrue(expected.isEmpty());
}
项目:xtext-core    文件:DefaultEcoreElementFactoryTest.java   
@Test
public void testConvertNullInput() throws Exception {
    EClass eClass = EcoreFactory.eINSTANCE.createEClass();
    Function2<String, INode, Object> toValueImpl = new Function2<String, INode, Object>() {

        @Override
        public Object apply(String lexerRule, INode node) {
            if ("foo".equals(lexerRule) ) {
                return "FOO";
            }
            return null;
        }
    };
    DefaultEcoreElementFactory factory = new DefaultEcoreElementFactory();
    factory.setConverterService(new MockedConverterService(toValueImpl));
    factory.set(eClass, "name", null, "foo", null);

    assertEquals("FOO", eClass.getName());
}
项目:xtext-core    文件:EcoreUtil2Test.java   
@Test public void testGetAllReferencedObjects() {
    EClass a = createEClass("a");
    EClass b = createEClass("b");

    EPackage pack = EcoreFactory.eINSTANCE.createEPackage();
    pack.setName("empty");
    pack.setNsPrefix("empty");
    pack.setNsURI("empty");
    pack.getEClassifiers().add(a);
    pack.getEClassifiers().add(b);

    EReference ref = EcoreFactory.eINSTANCE.createEReference();
    a.getEStructuralFeatures().add(ref);
    ref.setUpperBound(1);
    ref.setEType(b);
    EObject objA = pack.getEFactoryInstance().create(a);
    EObject objB = pack.getEFactoryInstance().create(b);
    List<EObject> res = EcoreUtil2.getAllReferencedObjects(objA, ref);
    assertNotNull(res);
    assertTrue(res.isEmpty());
    res = EcoreUtil2.getAllReferencedObjects(objA, ref);
    assertNotNull(res);
    objA.eSet(ref, objB);
}
项目:xtext-core    文件:EcoreUtil2Test.java   
@Test public void testPathFragment() {
    EClass foo = EcoreFactory.eINSTANCE.createEClass();
    foo.setName("foo");
    EClass bar = EcoreFactory.eINSTANCE.createEClass();
    foo.setName("bar");
    EPackage p = EcoreFactory.eINSTANCE.createEPackage();
    bar.setName("p");
    p.getEClassifiers().add(foo);
    p.getEClassifiers().add(bar);

    assertEquals("/-1", EcoreUtil2.getFragmentPath(foo));
    assertEquals("/-1", EcoreUtil2.getFragmentPath(bar));
    assertEquals("/-1", EcoreUtil2.getFragmentPath(p));
    Resource resource = new ResourceImpl(URI.createURI("platform:/resource/res"));
    resource.getContents().add(p);
    assertEquals(URI.createURI("platform:/resource/res#//@eClassifiers.0"), EcoreUtil2.getFragmentPathURI(foo));
    assertEquals(URI.createURI("platform:/resource/res#//@eClassifiers.1"), EcoreUtil2.getFragmentPathURI(bar));
    assertEquals(URI.createURI("platform:/resource/res#/"), EcoreUtil2.getFragmentPathURI(p));
    assertEquals(resource.getEObject("//@eClassifiers.0"), foo);
    assertEquals(resource.getEObject("//@eClassifiers.1"), bar);
    assertEquals(resource.getEObject("/"), p);
}
项目:xtext-core    文件:ScopesTest.java   
@Test public void testWithNull() throws Exception {
    EAttribute attr = EcoreFactory.eINSTANCE.createEAttribute();
    attr.setName("Foo");
    EAttribute attr2 = EcoreFactory.eINSTANCE.createEAttribute();
    attr2.setName("Bar");

    ArrayList<EAttribute> list = new ArrayList<EAttribute>();
    list.add(attr);
    list.add(EcoreFactory.eINSTANCE.createEAttribute());
    list.add(attr2);

    Iterable<IEObjectDescription> iterable = Scopes.scopedElementsFor(list);
    Iterator<IEObjectDescription> iterator = iterable.iterator();
    assertEquals(FOO, iterator.next().getName());
    assertEquals(BAR, iterator.next().getName());
    assertFalse(iterator.hasNext());
}
项目:xtext-core    文件:ScopesTest.java   
@Test public void testWithDifferentElements() throws Exception {
    EAttribute attr = EcoreFactory.eINSTANCE.createEAttribute();
    attr.setName("Foo");
    EDataType datatype = EcoreFactory.eINSTANCE.createEDataType();
    datatype.setName("Bar");

    ArrayList<EObject> list = new ArrayList<EObject>();
    list.add(attr);
    list.add(EcoreFactory.eINSTANCE.createEObject());
    list.add(datatype);

    Iterable<IEObjectDescription> iterable = Scopes.scopedElementsFor(list);
    Iterator<IEObjectDescription> iterator = iterable.iterator();
    IEObjectDescription next = iterator.next();
    assertEquals(FOO, next.getName());
    assertEquals(attr,next.getEObjectOrProxy());
    next = iterator.next();
    assertEquals(BAR, next.getName());
    assertEquals(datatype,next.getEObjectOrProxy());
    assertFalse(iterator.hasNext());
}
项目:xtext-core    文件:OnChangeEvictingCacheAdapterTest.java   
@Test public void testAdapterIsCleared() throws Exception {
    EcoreFactory factory = EcoreFactory.eINSTANCE;
    EClass eClass = factory.createEClass();
    Resource resource = new ResourceImpl();
    resource.getContents().add(eClass);
    CacheAdapter ca = new OnChangeEvictingCache().getOrCreate(resource);
    setValue(ca);
    EAttribute attribute = factory.createEAttribute();
    assertIsSet(ca);
    eClass.getEStructuralFeatures().add(attribute);
    assertIsNull(ca);
    setValue(ca);
    attribute.setName("Foo");
    assertIsNull(ca);
    setValue(ca);
}
项目:dsl-devkit    文件:ShortFragmentProviderTest.java   
@Before
public void initialize() {
  EcoreFactory ecoreFactory = EcoreFactory.eINSTANCE;

  testClass = ecoreFactory.createEClass();

  testReference = ecoreFactory.createEReference();
  testReference.setEType(testClass);
  testReference.setContainment(true);
  testClass.getEStructuralFeatures().add(testReference);

  testReference2 = ecoreFactory.createEReference();
  testReference2.setEType(testClass);
  testReference2.setContainment(true);
  testClass.getEStructuralFeatures().add(testReference2);

  testPackage = ecoreFactory.createEPackage();
  testPackage.getEClassifiers().add(testClass);
  testPackage.setNsURI("http:///com.avaloq.tools.ddk.xtext.test");
  EPackage.Registry.INSTANCE.put(testPackage.getNsURI(), testPackage);
}
项目:dsl-devkit    文件:AbstractTypeProviderTest.java   
@Before
public void init() {
  EcoreFactory modelFactory = EcoreFactory.eINSTANCE;
  testModelPackage = modelFactory.createEPackage();
  testModelPackage.setName("TypeProviderTestEPackage");
  testModelPackage.setNsPrefix("typeprovidertestpackage");
  testModelPackage.setNsURI("http://testabstracttype");
  EFactory instanceFactory = testModelPackage.getEFactoryInstance();
  EClass clazz = createEClass("ExpressionContainer");
  expressionContainerReference = modelFactory.createEReference();
  clazz.getEStructuralFeatures().add(expressionContainerReference);
  expressionContainerReference.setName("expression");
  expressionContainerReference.setEType(typeModelPackage.getIExpression());
  expressionContainerReference.setContainment(true);
  expression1Container = instanceFactory.create(clazz);
  expression1Container.eSet(expressionContainerReference, expression1);
  expression2Container = instanceFactory.create(clazz);
  expression2Container.eSet(expressionContainerReference, expression2);
  expression3Container = instanceFactory.create(clazz);
  expression3Container.eSet(expressionContainerReference, expression3);
}
项目:dsl-devkit    文件:FastReferenceSearchResultContentProvider.java   
/**
 * Adds the given reference to the contents.
 *
 * @param referenceDescription
 *          reference to add
 */
private void addReference(final IReferenceDescription referenceDescription) {
  URI containerEObjectURI = referenceDescription.getContainerEObjectURI();
  final URI eObjectURI = (containerEObjectURI == null) ? referenceDescription.getSourceEObjectUri() : containerEObjectURI;
  IResourceDescription resourceDescription = resourceDescriptions.getResourceDescription(eObjectURI.trimFragment());
  if (resourceDescription != null) {
    ReferenceSearchViewTreeNode resourceNode = resourceNode(resourceDescription);
    new DynamicReferenceSearchViewTreeNode(resourceNode, referenceDescription, new Supplier<Object>() {
      @Override
      public Object get() {
        InternalEObject dummyProxy = (InternalEObject) EcoreFactory.eINSTANCE.createEObject();
        dummyProxy.eSetProxyURI(eObjectURI);
        Iterator<IEObjectDescription> sourceObjects = resourceDescriptions.getExportedObjectsByObject(dummyProxy).iterator();
        return sourceObjects.hasNext() ? sourceObjects.next() : referenceDescription;
      }
    });
  }
}
项目:caml2tosca    文件:ToscaUtil.java   
public static EPackage createTEPackage(String nsPrefix, String nsURI) {
    // create the EPackage of the temporary metamodel if it does not exist already
    if(!Package_Map.containsKey(nsURI)) {
        EPackage tPackage = EcoreFactory.eINSTANCE.createEPackage();
        tPackage.setNsPrefix(nsPrefix);
        tPackage.setNsURI(nsURI);

        // create the document root to which the temporary EReferences are added
        EClass documentRoot = EcoreFactory.eINSTANCE.createEClass();
        documentRoot.setName("DocumentRoot");

        // add the document root to the created package and add the package to the global map
        tPackage.getEClassifiers().add(documentRoot);
        Package_Map.put(nsURI, tPackage);           
        return tPackage;
    } else {
        return Package_Map.get(nsURI);
    }
}
项目:statecharts    文件:TreeLayoutUtil.java   
public static void setTreeNodesPositionAnnotation(List<View> viewElements) {
    if (viewElements != null) {
        for (int index = 0; index < viewElements.size(); index++) {
            final View view = viewElements.get(index);
            EAnnotation xmiIdAnnotation = view
                    .getEAnnotation(TREE_LAYOUT_ANNOTATION);
            if (xmiIdAnnotation == null) {
                xmiIdAnnotation = EcoreFactory.eINSTANCE
                        .createEAnnotation();
                xmiIdAnnotation.setSource(TREE_LAYOUT_ANNOTATION);
            }
            xmiIdAnnotation.getDetails().put(TREE_NODE_POSITION,
                    Integer.toString(index));
            xmiIdAnnotation.setEModelElement(view);
        }
    }
}
项目:OpenSPIFe    文件:TestJavaScript.java   
public void testEObjectScriptable() {
    Context cx = Context.enter();
    Scriptable scope = cx.initStandardObjects();

    EClass eClass = EcoreFactory.eINSTANCE.createEClass();
    ScriptableEObject scriptable = new ScriptableEObject(eClass);
    scope.setParentScope(scriptable);

    cx.evaluateString(scope, "name = \"junit\"", "<cmd>", 1, null);

    assertEquals("junit", eClass.getName());

    Object value = cx.evaluateString(scope, "ePackage", "<cmd>", 1, null);
    assertEquals(value, eClass.getEPackage());
    Context.exit();
}
项目:OpenSPIFe    文件:TestEMFUtils.java   
@Test
public void inAndOutOfString() {
    EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
    ePackage.setName("Package");

    EClass eClass0 = EcoreFactory.eINSTANCE.createEClass();
    eClass0.setName("EClass0");
    ePackage.getEClassifiers().add(eClass0);

    EClass eClass1 = EcoreFactory.eINSTANCE.createEClass();
    eClass1.setName("EClass1");
    ePackage.getEClassifiers().add(eClass1);

    String stringified = EMFUtils.convertToXML(ePackage);
    Logger logger = Logger.getLogger(TestEMFUtils.class);
    logger.debug("STRING: " + stringified);

    EObject object = EMFUtils.createFromXML(stringified);
    assertTrue(object instanceof EPackage);
    ePackage = (EPackage)object;
    assertEquals(2, ePackage.getEClassifiers().size());
    assertEquals("EClass0", ePackage.getEClassifiers().get(0).getName());
    assertEquals("EClass1", ePackage.getEClassifiers().get(1).getName());
}
项目:OpenSPIFe    文件:TestEMFUtils.java   
@Test
public void filter() {
    final List<EObject> list = new ArrayList<EObject>();
    final EObject o1 = EcoreFactory.eINSTANCE.createEObject();
    final EObject o2 = EcoreFactory.eINSTANCE.createEObject();
    list.add(o1);
    list.add(o2);
    final List<EObject> filtered = EMFUtils.filter(list, new Object() {
        @SuppressWarnings("unused")
        public boolean doSwitch(EObject obj) {
            if (obj == o1)
                return true;
            return false;
        }
    });
    assertEquals(Collections.singletonList(o1), filtered);
}
项目:OpenSPIFe    文件:TestEMFUtils.java   
@Test
public void map() {
    final List<EObject> list = new ArrayList<EObject>();
    final EObject o1 = EcoreFactory.eINSTANCE.createEObject();
    final EObject o2 = EcoreFactory.eINSTANCE.createEObject();
    list.add(o1);
    list.add(o2);
    final List<String> mapped = EMFUtils.map(list, new Object() {
        @SuppressWarnings("unused")
        public String doSwitch(EObject obj) {
            return obj.toString();
        }
    });
    final List<String> stringified = new ArrayList<String>();
    stringified.add(o1.toString());
    stringified.add(o2.toString());
    assertEquals(stringified, mapped);
}
项目:OpenSPIFe    文件:TestEMFUtils.java   
@Test
public void filterMap() {
    final List<EObject> list = new ArrayList<EObject>();
    final EObject o1 = EcoreFactory.eINSTANCE.createEObject();
    final EObject o2 = EcoreFactory.eINSTANCE.createEObject();
    list.add(o1);
    list.add(o2);
    final List<String> mapped = EMFUtils.filterMap(list, new Object() {
        @SuppressWarnings("unused")
        public String doSwitch(EObject obj) {
            if (obj == o1)
                return obj.toString();
            return null;
        }
    });
    assertEquals(Collections.singletonList(o1.toString()), mapped);
}
项目:OpenSPIFe    文件:ProfileDataPointDeserializerContributor.java   
@Override
public Object deserialize(EObject target, EStructuralFeature feature, String value) {
    if (isDeserializer(target, feature)) {
        String v = value.substring(value.indexOf("[")+1, value.lastIndexOf("]")); // White-space varies if its numeric or enum
        int delim = v.lastIndexOf(',');
        String dateString = v.substring(0, delim).trim();
        String valueString = v.substring(delim + 1).trim();

        Profile profile = (Profile) target;
        EDataType dataType = profile.getDataType();
        Date date = (Date)EcoreFactory.eINSTANCE.createFromString(EcorePackage.Literals.EDATE, dateString);
        Object object = null;
        if (valueString != null && !valueString.isEmpty() && !valueString.equals("null")) {
            object = EcoreUtil.createFromString(dataType, valueString);
        }
        DataPoint<Object> dataPoint = JScienceFactory.eINSTANCE.createEDataPoint(date, object);
        return dataPoint;
    }
    return null;
}
项目:emfjson-mongo    文件:MongoHandlerSaveTest.java   
@Test
public void testSaveWithUriMapping() throws IOException {
    resourceSet.getURIConverter().getURIMap().put(
            URI.createURI("http://resources/"),
            URI.createURI("mongodb://localhost:27017/emfjson-test/models/"));

    Resource resource = resourceSet.createResource(URI.createURI("http://resources/model1"));

    EPackage p = EcoreFactory.eINSTANCE.createEPackage();
    p.setName("p");
    EClass c = EcoreFactory.eINSTANCE.createEClass();
    c.setName("A");
    p.getEClassifiers().add(c);

    resource.getContents().add(p);
    resource.save(null);

    checkDocument(testURI);
}
项目:anatlyzer    文件:USESolverMemory.java   
public USESolverMemory(EPackage metamodel, List<String> constraints) throws transException {
    super();
    this.metamodel = metamodel;

    root = (EClass) metamodel.getEClassifier("AuxiliaryClass4USE");
    if ( root == null ) {
        root = EcoreFactory.eINSTANCE.createEClass();
        root.setName ("AuxiliaryClass4USE");
        metamodel.getEClassifiers().add(root);
    }

    try {
        StringWriter writer1 = new StringWriter();
        transformEcore2use(metamodel, writer1);
        writer1.append("\n\n");
        writeOCLexpression(metamodel, constraints, root, writer1);

        this.useSpecification = writer1.toString();
        writer1.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }           
}
项目:anatlyzer    文件:NoClassFoundInMetamodelQuickFix_ChangeMetamodel.java   
@Override
public QuickfixApplication getQuickfixApplication() throws CoreException {
    OclModelElement me = (OclModelElement) getProblematicElement();
    String mmName = me.getModel().getName();

    QuickfixApplication qfa = new QuickfixApplication(this);

    Set<EPackage> packages = getAnalysisResult().getNamespace().getNamespace(mmName).getLoadedPackages();
    EPackage aPackage = packages.stream().filter(p -> p.getESuperPackage() == null ).findAny().orElse(null);
    if ( aPackage != null ) {
        qfa.mmModify(aPackage, mmName, (pkg) -> {
            EClass newClass = EcoreFactory.eINSTANCE.createEClass();
            newClass.setName(me.getName());
            pkg.getEClassifiers().add(newClass);
        });
    }

    return qfa;
}
项目:anatlyzer    文件:EffectiveMetamodelBuilder.java   
public EPackage extractSource(Resource r, String name, String conceptURI, String conceptPrefix, String info) {  
    conceptPkg = EcoreFactory.eINSTANCE.createEPackage();
    conceptPkg.setName(name);
    conceptPkg.setNsURI(conceptURI);
    conceptPkg.setNsPrefix(conceptPrefix);

    EAnnotation ann = EcoreFactory.eINSTANCE.createEAnnotation();
    //ann.getDetails().put("error", name);
    ann.setSource(info);
    conceptPkg.getEAnnotations().add(ann);

    r.getContents().add(conceptPkg);

    //copyClasses(directUsedTypes);
    //copyClasses(indirectUsedTypes);

    for(EAnnotation extra : data.getPackageAnnotations()) {
        conceptPkg.getEAnnotations().add(extra);
    }

    transform(this);

    // fillFeatures(directUsedTypes);

    return conceptPkg;
}
项目:simplified-bpmn-example    文件:SimpleBPMNCreateShortcutDecorationsCommand.java   
/**
 * @generated
 */
protected CommandResult doExecuteWithResult(IProgressMonitor monitor,
        IAdaptable info) throws ExecutionException {
    for (Iterator it = myDescriptors.iterator(); it.hasNext();) {
        CreateViewRequest.ViewDescriptor nextDescriptor = (CreateViewRequest.ViewDescriptor) it
                .next();
        View view = (View) nextDescriptor.getAdapter(View.class);
        if (view != null && view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
            EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE
                    .createEAnnotation();
            shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
            shortcutAnnotation
                    .getDetails()
                    .put("modelID", SimpleBPMN.diagram.edit.parts.BusinessProcessDiagramEditPart.MODEL_ID); //$NON-NLS-1$
            view.getEAnnotations().add(shortcutAnnotation);
        }
    }
    return CommandResult.newOKCommandResult();
}
项目:eclipse-avro    文件:EcoreUtil.java   
public static void setDocumentation(EModelElement eModelElement, String documentation)
{
  EAnnotation eAnnotation = eModelElement.getEAnnotation(GEN_MODEL_PACKAGE_NS_URI);
  if (documentation == null)
  {
    if (eAnnotation != null)
    {
      eAnnotation.getDetails().removeKey("documentation");
    }
  }
  else
  {
    if (eAnnotation == null)
    {
      eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
      eAnnotation.setSource(GEN_MODEL_PACKAGE_NS_URI);
      eModelElement.getEAnnotations().add(eAnnotation);
    }
    eAnnotation.getDetails().put("documentation", documentation);
  }
}
项目:eclipse-avro    文件:EcoreUtil.java   
public static void setAnnotation(EModelElement eModelElement, String sourceURI, String key, String value)
{
  EAnnotation eAnnotation = eModelElement.getEAnnotation(sourceURI);
  if (value == null)
  {
    if (eAnnotation != null)
    {
      eAnnotation.getDetails().removeKey(key);
    }
  }
  else 
  {
    if (eAnnotation == null)
    {
      eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
      eAnnotation.setSource(sourceURI);
      eModelElement.getEAnnotations().add(eAnnotation);
    }
    eAnnotation.getDetails().put(key, value);
  }
}
项目:eclipse-avro    文件:EcoreUtil.java   
/**
 * Sets or removes annotations on the given structural feature to prevent generation of accessor methods in its interface.
 * @param eStructuralFeature the structural feature
 * @param accessor the type of accessor method, one of {@link #GET}, {@link #SET}, {@link #IS_SET}, or {@link #UNSET}
 * @param suppress whether the specified accessor's visibility should be suppressed
 * @since 2.1
 */
public static void setSuppressedVisibility(EStructuralFeature eStructuralFeature, int accessor, boolean suppress)
{
  if (accessor < GET || accessor > UNSET) throw new IllegalArgumentException("Invalid accessor identifier: " + accessor);

  EAnnotation eAnnotation = eStructuralFeature.getEAnnotation(GEN_MODEL_PACKAGE_NS_URI);
  if (!suppress)
  {
    if (eAnnotation != null)
    {
      eAnnotation.getDetails().removeKey(ACCESSOR_KEYS[accessor]);
    }
  }
  else
  {
    if (eAnnotation == null)
    {
      eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
      eAnnotation.setSource(GEN_MODEL_PACKAGE_NS_URI);
      eStructuralFeature.getEAnnotations().add(eAnnotation);
    }
    eAnnotation.getDetails().put(ACCESSOR_KEYS[accessor], TRUE);
  }
}
项目:eclipse-avro    文件:EcoreUtil.java   
/**
 * Sets or removes the annotation on the given operation to prevent generation of a method declaration in its interface.
 * @param eOperation the operation.
 * @param suppress whether the visibility should be suppressed
 * @since 2.4
 */
public static void setSuppressedVisibility(EOperation eOperation, boolean suppress)
{
  EAnnotation eAnnotation = eOperation.getEAnnotation(GEN_MODEL_PACKAGE_NS_URI);
  if (!suppress)
  {
    if (eAnnotation != null)
    {
      eAnnotation.getDetails().removeKey(OPERATION_VISIBILITY_KEY);
    }
  }
  else
  {
    if (eAnnotation == null)
    {
      eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
      eAnnotation.setSource(GEN_MODEL_PACKAGE_NS_URI);
      eOperation.getEAnnotations().add(eAnnotation);
    }
    eAnnotation.getDetails().put(OPERATION_VISIBILITY_KEY, TRUE);
  }
}