Resource genModelResource = genModel.eResource(); GenModel referencedGenModel = (GenModel)EcoreUtil.create(genModel.eClass()); genModelResource.getContents().add(referencedGenModel); referencedGenModel.initialize(referencedEPackages); ImporterUtil.addUniqueGenPackages(genModel.getUsedGenPackages(), referencedGenModel.getGenPackages()); referencedGenModel.getForeignModel().addAll(genModel.getForeignModel()); modelImporter.traverseGenPackages(referencedGenModel.getGenPackages()); for (Iterator<GenPackage> i = referencedGenModel.getGenPackages().iterator(); i.hasNext();) if (referencedGenModel.getGenPackages().size() == 1) referencedGenModel.setModelName("ecore"); referencedGenModel.setBooleanFlagsField("eFlags"); referencedGenModel.setBooleanFlagsReservedBits(8); ImporterUtil.addUniqueGenPackages(referencedGenModel.getUsedGenPackages(), Collections.singletonList(genPackage)); GenModel ecoreGenModel = (GenModel)EcoreUtil.create(genModel.eClass()); genModel.eResource().getContents().add(ecoreGenModel); ecoreGenModel.getGenPackages().add(genPackage); ecoreGenModel.setBooleanFlagsField("eFlags"); ecoreGenModel.setBooleanFlagsReservedBits(8); ecoreGenModel.getForeignModel().addAll(genModel.getForeignModel()); ecoreGenModel.setModelName("ecore"); else if (referencedGenModel.getModelName() == null) referencedGenModel.setModelName(genPackage.getPackageName());
@Override public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { if (eObject instanceof GenModel) { ((GenModel)eObject).reconcile(); } super.createEObjectDescriptions(eObject, acceptor); return !(eObject instanceof GenClassifier); } }
public VirtualFile generate(VirtualFile basedir) throws DatabaseException { GenModel genModel = GenModelFactory.eINSTANCE.createGenModel(); genModel.setRuntimeVersion(GenRuntimeVersion.EMF25); genModel.setComplianceLevel(GenJDKLevel.JDK60_LITERAL); genModel.setFeatureDelegation(GenDelegationKind.REFLECTIVE_LITERAL); genModel.setRootExtendsClass("org.bimserver.emf.IdEObjectImpl"); genModel.setRootExtendsInterface("org.bimserver.emf.IdEObject"); genModel.setSuppressContainment(true); genModel.setCodeFormatting(true); genModel.setCopyrightText(StringUtils.readFromFile(new File("copyright.txt"))); genModel.setCanGenerate(true); genModel.setModelDirectory("test"); genModel.setModelName("model name"); genModel.setForceOverwrite(true); genModel.setSuppressNotification(false); genModel.setContainmentProxies(false); genModel.setBinaryCompatibleReflectiveMethods(false); genModel.setPublicConstructors(false); genModel.setMinimalReflectiveMethods(true); // More code, but faster genModel.setUpdateClasspath(false); genModel.initialize(schema.getEPackages());
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl()); Map<VirtualFile, Resource> resources = new HashMap<VirtualFile, Resource>(); genModel.initialize(schema.getEPackages()); for (GenPackage genPackage : genModel.getGenPackages()) { genPackage.setBasePackage("org.bimserver.models"); return genModel.getGenPackages();
protected List<GenPackage> getAllGenPackages() { GenModel genModel = getGenModel(); List<GenPackage> genPackages = genModel.getGenPackages(); List<GenPackage> usedGenPackages = genModel.getUsedGenPackages(); List<GenPackage> staticGenPackages = genModel.getStaticGenPackages(); List<GenPackage> result = new ArrayList<GenPackage>(genPackages.size() + usedGenPackages.size() + staticGenPackages.size()); result.addAll(genPackages); result.addAll(usedGenPackages); result.addAll(staticGenPackages); return result; }
if (oldGenModelVersion.isSetEditDirectory()) setEditDirectory(oldGenModelVersion.getEditDirectory()); if (oldGenModelVersion.isSetEditPluginClass()) setEditPluginClass(oldGenModelVersion.getEditPluginClass()); if (oldGenModelVersion.isSetEditorDirectory()) setEditorDirectory(oldGenModelVersion.getEditorDirectory()); if (oldGenModelVersion.isSetEditorPluginClass()) setEditorPluginClass(oldGenModelVersion.getEditorPluginClass()); if (oldGenModelVersion.isSetTestsDirectory()) setTestsDirectory(oldGenModelVersion.getTestsDirectory()); if (oldGenModelVersion.isSetTestSuiteClass()) setTestSuiteClass(oldGenModelVersion.getTestSuiteClass()); setCopyrightText(oldGenModelVersion.getCopyrightText()); setCopyrightFields(oldGenModelVersion.isCopyrightFields()); setModelDirectory(oldGenModelVersion.getModelDirectory()); setCreationCommands(oldGenModelVersion.isCreationCommands()); setCreationIcons(oldGenModelVersion.isCreationIcons());
if (oldGenModelVersion.isSetEditDirectory()) setEditDirectory(oldGenModelVersion.getEditDirectory()); if (oldGenModelVersion.isSetEditPluginClass()) setEditPluginClass(oldGenModelVersion.getEditPluginClass()); if (oldGenModelVersion.isSetEditorDirectory()) setEditorDirectory(oldGenModelVersion.getEditorDirectory()); if (oldGenModelVersion.isSetEditorPluginClass()) setEditorPluginClass(oldGenModelVersion.getEditorPluginClass()); if (oldGenModelVersion.isSetTestsDirectory()) setTestsDirectory(oldGenModelVersion.getTestsDirectory()); if (oldGenModelVersion.isSetTestSuiteClass()) setTestSuiteClass(oldGenModelVersion.getTestSuiteClass()); setCopyrightText(oldGenModelVersion.getCopyrightText()); setCopyrightFields(oldGenModelVersion.isCopyrightFields()); setModelDirectory(oldGenModelVersion.getModelDirectory()); setCreationCommands(oldGenModelVersion.isCreationCommands()); setCreationIcons(oldGenModelVersion.isCreationIcons());
genModelResource.getContents().add(genModel); resourceSet.getResources().add(genModelResource); genModel.setModelDirectory("/TargetProject/src"); genModel.getForeignModel().add(ecorePath.toString()); genModel.initialize(Collections.singleton(ePackage)); GenPackage genPackage = genModel.getGenPackages().get(0); genModel.setModelName(genModelURI.trimFileExtension().lastSegment()); boolean reconcileSuccessful = genModel.reconcile(); if (!reconcileSuccessful) IStatus status = genModel.validate(); if (!status.isOK()) genModel.setDynamicTemplates(true); genModel.setForceOverwrite(true); genModel.setRedirection(".{0}.new"); IPath path = new Path(genModel.getModelDirectory()); String modelDirectory = genModel.getModelDirectory(); genModel.setModelDirectory(generator.findOrCreateContainerHelper(rootLocation, modelDirectory, monitor)); String editDirectory = genModel.getEditDirectory(); if (edit && editDirectory != null) genModel.setEditDirectory(generator.findOrCreateContainerHelper(rootLocation, editDirectory, monitor));
URI genModelURI = genModel.eResource().getURI(); if (genModelURI.isPlatformResource()) IProject modelProject = workspace.getRoot().getProject(genModel.getModelProjectDirectory()); IPath javaSource = new Path(genModel.getModelDirectory()); IProject testsProject = workspace.getRoot().getProject(genModel.getTestsProjectDirectory()); if (!genModel.sameModelTestsProject()) javaSource = new Path(genModel.getTestsDirectory()); else if ((style & Generator.EMF_MODEL_PROJECT_STYLE) == 0 && genModel.hasEditSupport()) IProject editProject = workspace.getRoot().getProject(genModel.getEditProjectDirectory()); if (!genModel.sameModelEditProject()) javaSource = new Path(genModel.getEditDirectory()); if (editProject.exists()) for (GenPackage genPackage : genModel.getUsedGenPackages()) if (otherGenModel.hasEditSupport()) IProject otherEditProject = workspace.getRoot().getProject(otherGenModel.getEditProjectDirectory()); if (otherEditProject.exists()) if ((style & Generator.EMF_EDIT_PROJECT_STYLE) == 0 && genModel.hasEditorSupport())
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getEditPluginPackageName()); stringBuffer.append(TEXT_5); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_6); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_7); if (genModel.hasAPITags()) { stringBuffer.append(TEXT_3); stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer))); if (isJDK50 && genModel.hasAPIDeprecatedTag()) { stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getEditPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String"));
genModel.setModelName(this.getModelName(grammar)); genModel.setModelPluginID(this.getModelPluginID()); genModel.setModelDirectory(this.getJavaModelDirectory()); if (this.generateEdit) { genModel.setEditPluginID(this.getEditPluginID()); genModel.setEditDirectory(this.getEditDirectory()); genModel.setEditorPluginID(this.getEditorPluginID()); genModel.setEditorDirectory(this.getEditorDirectory()); genModel.setValidateModel(false); genModel.setForceOverwrite(true); genModel.setFacadeHelperClass(null); genModel.setBundleManifest(true); genModel.setUpdateClasspath(false); genModel.setComplianceLevel(this.jdkLevel); genModel.setRuntimeVersion(this.emfRuntimeVersion); genModel.setRootExtendsClass(this.rootExtendsClass); genModel.setLineDelimiter(this.codeConfig.getLineDelimiter()); String _fileHeader = this.codeConfig.getFileHeader(); boolean _tripleNotEquals = (_fileHeader != null); if (_tripleNotEquals) { genModel.setCopyrightText(EMFGeneratorFragment2.trimMultiLineComment(this.codeConfig.getFileHeader()));
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; String _ListOfString = "List" + (genModel.useGenerics() ? "<String>" : ""); String _UniqueEListOfString = "UniqueEList" + (genModel.useGenerics() ? "<String>" : ""); String _StringBuilder = genModel.getImportedName(genModel.useGenerics() ? "java.lang.StringBuilder" : "java.lang.StringBuffer"); stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getEditorPluginPackageName()); stringBuffer.append(TEXT_5); if (!genModel.isRichAjaxPlatform()) { stringBuffer.append(TEXT_6); if (!genModel.useGenerics()) { stringBuffer.append(TEXT_7); if (genModel.getAllGenPackagesWithConcreteClasses().size() > 1) { stringBuffer.append(TEXT_8); if (!genModel.isRichAjaxPlatform()) { stringBuffer.append(TEXT_10); if (!genModel.isRichAjaxPlatform()) { stringBuffer.append(TEXT_12);
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getEditorPluginPackageName()); stringBuffer.append(TEXT_5); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_6); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_7); if (genModel.hasAPITags()) { stringBuffer.append(TEXT_3); stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer))); if (isJDK50 && genModel.hasAPIDeprecatedTag()) { stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getEditorPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String"));
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getModelPluginPackageName()); stringBuffer.append(TEXT_5); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_6); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_7); if (genModel.hasAPITags()) { stringBuffer.append(TEXT_3); stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer))); if (isJDK50 && genModel.hasAPIDeprecatedTag()) { stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getModelPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String"));
if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); } else { stringBuffer.append(TEXT_4); stringBuffer.append("$"); stringBuffer.append(TEXT_7); stringBuffer.append(genModel.getEditorPluginPackageName()); stringBuffer.append(TEXT_8); if (!genModel.useGenerics()) { stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getQualifiedEditorPluginClassName()); stringBuffer.append(TEXT_11); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getEditorAdvisorClassName()); stringBuffer.append(TEXT_13); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_14); stringBuffer.append(genModel.getCopyrightFieldLiteral()); stringBuffer.append(TEXT_15); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_16); stringBuffer.append(genModel.getEditorPluginClassName()); stringBuffer.append(TEXT_18); stringBuffer.append(genModel.getQualifiedEditorPluginClassName());
if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); } else { stringBuffer.append(TEXT_4); stringBuffer.append("$"); stringBuffer.append(TEXT_7); stringBuffer.append(genModel.getEditPluginPackageName()); stringBuffer.append(TEXT_8); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_10); stringBuffer.append(genModel.getEditPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String")); stringBuffer.append(TEXT_13); stringBuffer.append(genModel.getCopyrightFieldLiteral()); stringBuffer.append(TEXT_14); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_15); stringBuffer.append(genModel.getEditPluginClassName()); stringBuffer.append(TEXT_17);
if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); } else { stringBuffer.append(TEXT_4); stringBuffer.append("$"); stringBuffer.append(TEXT_7); stringBuffer.append(genModel.getEditorPluginPackageName()); stringBuffer.append(TEXT_8); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_10); stringBuffer.append(genModel.getEditorPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String")); stringBuffer.append(TEXT_13); stringBuffer.append(genModel.getCopyrightFieldLiteral()); stringBuffer.append(TEXT_14); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_15); stringBuffer.append(genModel.getEditorPluginClassName()); stringBuffer.append(TEXT_17);
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getTestSuitePackageName()); stringBuffer.append(TEXT_5); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_6); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_7); if (genModel.hasAPITags()) { stringBuffer.append(TEXT_3); stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer))); if (isJDK50 && genModel.hasAPIDeprecatedTag()) { stringBuffer.append(TEXT_9); } else if (isJDK50) { boolean needsSuppressDeprecation = false; LOOP: for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) { if (genPackage.hasTests()) { for (GenClass genClass : genPackage.getGenClasses()) { if (!genClass.isExternalInterface() && !genClass.isAbstract() && genClass.hasTests() && genClass.hasImplicitAPIDeprecatedTag()) { needsSuppressDeprecation = true; break LOOP; }}}} if (needsSuppressDeprecation) { stringBuffer.append(TEXT_10); }} stringBuffer.append(TEXT_11); stringBuffer.append(genModel.getTestSuiteClassName());
if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); } else { stringBuffer.append(TEXT_4); stringBuffer.append("$"); stringBuffer.append(TEXT_7); stringBuffer.append(genModel.getModelPluginPackageName()); stringBuffer.append(TEXT_8); genModel.addImport("org.eclipse.emf.common.EMFPlugin"); genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getModelName()); stringBuffer.append(TEXT_10); stringBuffer.append(genModel.getModelPluginClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String")); stringBuffer.append(TEXT_13); stringBuffer.append(genModel.getCopyrightFieldLiteral()); stringBuffer.append(TEXT_14); stringBuffer.append(genModel.getNonNLS()); stringBuffer.append(TEXT_15); stringBuffer.append(genModel.getModelPluginClassName()); stringBuffer.append(TEXT_17);
final boolean isJDK50 = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50; stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); if (copyrightHolder != null && copyrightHolder.hasCopyright()) { stringBuffer.append(TEXT_3); stringBuffer.append(copyrightHolder.getCopyright(copyrightHolder.getGenModel().getIndentation(stringBuffer))); }} stringBuffer.append(TEXT_4); stringBuffer.append(genModel.getEditorPluginPackageName()); stringBuffer.append(TEXT_5); genModel.markImportLocation(stringBuffer); stringBuffer.append(TEXT_6); if (genModel.hasAPITags()) { stringBuffer.append(TEXT_3); stringBuffer.append(genModel.getAPITags(genModel.getIndentation(stringBuffer))); if (isJDK50 && genModel.hasAPIDeprecatedTag()) { stringBuffer.append(TEXT_8); } else if (isJDK50 && GenModelUtil.hasAPIDeprecatedTag(genModel.getAllGenAndUsedGenPackagesWithClassifiers())) { stringBuffer.append(TEXT_9); stringBuffer.append(genModel.getEditorEntryPointClassName()); stringBuffer.append(TEXT_11); if (genModel.hasCopyrightField()) { stringBuffer.append(TEXT_12); stringBuffer.append(genModel.getImportedName("java.lang.String")); stringBuffer.append(TEXT_13); stringBuffer.append(genModel.getCopyrightFieldLiteral());