diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOImporter.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOImporter.java | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOImporter.java b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOImporter.java deleted file mode 100644 index eb02e6c3c0..0000000000 --- a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOImporter.java +++ /dev/null @@ -1,158 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - **************************************************************************/ -package org.eclipse.emf.cdo.migrator; - -import org.eclipse.emf.codegen.ecore.genmodel.GenModel; -import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; -import org.eclipse.emf.common.util.BasicDiagnostic; -import org.eclipse.emf.common.util.Diagnostic; -import org.eclipse.emf.common.util.DiagnosticException; -import org.eclipse.emf.common.util.Monitor; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.common.util.UniqueEList; -import org.eclipse.emf.converter.ConverterPlugin; -import org.eclipse.emf.converter.util.ConverterUtil; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EcorePackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.util.Diagnostician; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.importer.ModelImporter; - -import org.eclipse.core.resources.IProject; - -import java.text.MessageFormat; -import java.util.List; - -/** - * @author Eike Stepper - */ -public class CDOImporter extends ModelImporter -{ - public static final String IMPORTER_ID = "org.eclipse.emf.importer.cdo"; - - public CDOImporter() - { - } - - @Override - public String getID() - { - return IMPORTER_ID; - } - - @Override - protected Diagnostic doComputeEPackages(Monitor monitor) throws Exception - { - Diagnostic diagnostic = Diagnostic.OK_INSTANCE; - - List<URI> locationURIs = getModelLocationURIs(); - if (locationURIs.isEmpty()) - { - diagnostic = new BasicDiagnostic(Diagnostic.ERROR, "org.eclipse.emf.cdo.migrator", 0, - "Specify a valid Ecore model and try loading again", null); - } - else - { - monitor.beginTask("", 2); - monitor.subTask(MessageFormat.format("Loading {0}", locationURIs)); - - ResourceSet ecoreResourceSet = createResourceSet(); - for (URI ecoreModelLocation : locationURIs) - { - ecoreResourceSet.getResource(ecoreModelLocation, true); - } - EcoreUtil.resolveAll(ecoreResourceSet); - - for (Resource resource : ecoreResourceSet.getResources()) - { - getEPackages().addAll( - EcoreUtil.<EPackage> getObjectsByType(resource.getContents(), EcorePackage.Literals.EPACKAGE)); - } - - BasicDiagnostic diagnosticChain = new BasicDiagnostic(ConverterPlugin.ID, ConverterUtil.ACTION_MESSAGE_NONE, - "Problems were detected while validating and converting the Ecore models", null); - for (EPackage ePackage : getEPackages()) - { - Diagnostician.INSTANCE.validate(ePackage, diagnosticChain); - } - if (diagnosticChain.getSeverity() != Diagnostic.OK) - { - diagnostic = diagnosticChain; - } - } - return diagnostic; - } - - @Override - public void addToResource(EPackage ePackage, ResourceSet resourceSet) - { - if (ePackage.eResource() != null && getGenModel().eResource() != null) - { - URI ePackageURI = ePackage.eResource().getURI(); - URI genModelURI = getGenModel().eResource().getURI(); - - if (!ePackageURI.trimSegments(1).equals(genModelURI.trimSegments(1))) - { - ePackage.eResource().getContents().remove(ePackage); - } - } - super.addToResource(ePackage, resourceSet); - } - - @Override - protected void adjustGenModel(Monitor monitor) - { - super.adjustGenModel(monitor); - - GenModel genModel = getGenModel(); - URI genModelURI = createFileURI(getGenModelPath().toString()); - for (URI uri : getModelLocationURIs()) - { - genModel.getForeignModel().add(makeRelative(uri, genModelURI).toString()); - } - - IProject project = getWorkspaceRoot().getProject(getModelProjectName()); - CDOMigrator.adjustGenModel(genModel, project); - } - - @Override - protected void handleOriginalGenModel() throws DiagnosticException - { - URI genModelURI = getOriginalGenModel().eResource().getURI(); - StringBuffer text = new StringBuffer(); - for (String value : getOriginalGenModel().getForeignModel()) - { - if (value.endsWith(".ecore") || value.endsWith(".emof")) - { - text.append(makeAbsolute(URI.createURI(value), genModelURI).toString()); - text.append(" "); - } - } - - if (text.length() == 0) - { - List<URI> locations = new UniqueEList<URI>(); - for (GenPackage genPackage : getOriginalGenModel().getGenPackages()) - { - URI ecoreURI = genPackage.getEcorePackage().eResource().getURI(); - if (locations.add(ecoreURI)) - { - text.append(makeAbsolute(URI.createURI(ecoreURI.toString()), genModelURI).toString()); - text.append(" "); - } - } - } - - setModelLocation(text.toString().trim()); - } -} |