EmfSaveLargeChainTest.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:emf-fragments 作者:
@Test
public void theTest() throws Exception {
    EPackage.Registry.INSTANCE.put(EcorePackage.eINSTANCE.getNsURI(), EcorePackage.eINSTANCE);
    Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new ResourceFactoryImpl() {
        @Override
        public Resource createResource(URI uri) {           
            return new BinaryResourceImpl(uri);
        }           
    });
    Resource resource = new ResourceSetImpl().createResource(URI.createURI("test.ecore"));
    EPackage thePkg = EcoreFactory.eINSTANCE.createEPackage();
    resource.getContents().add(thePkg);
    thePkg.setName("ThePkg");
    EClass lastClass = null;
    for (int i = 0; i < 10000; i++) {
        EClass newClass = EcoreFactory.eINSTANCE.createEClass();
        newClass.setName("Class" + i);
        thePkg.getEClassifiers().add(newClass);
        if (lastClass != null) {
            EReference ref = EcoreFactory.eINSTANCE.createEReference();
            ref.setName("ref");
            ref.setEType(newClass);
            lastClass.getEStructuralFeatures().add(ref);
        }
        lastClass = newClass;
    }

    resource.save(null);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号