blob: 1d85948adca183b7ccd6d77d84444d95668ce920 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Vienna University of Technology.
* 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:
* Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
*
* Initially developed in the context of ARTIST EU project www.artist-project.eu
*******************************************************************************/
package org.eclipse.upr.platform.java.jumpcfg.util;
import java.io.File;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.upr.platform.java.jumpcfg.Configuration;
import org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory;
import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
public class JConfigurationUtil {
private static Resource DEFAULT_CONFIGURATION = null;
/**
* Produces a default configuration.
*
* @return Jump configuration
*/
public static Resource getDefaultConfiguration() {
if(DEFAULT_CONFIGURATION == null) {
DEFAULT_CONFIGURATION = createDefaultConfiguration();
}
return DEFAULT_CONFIGURATION;
}
private static Resource createDefaultConfiguration() {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
.put(JConfigurationPackage.eNS_PREFIX, new XMIResourceFactoryImpl());
URI uri = URI.createFileURI(new File("./jump-default.jcfg").getAbsolutePath());
Resource resource = resourceSet.createResource(uri);
Configuration configuration = JConfigurationFactory.eINSTANCE.createConfiguration();
ProfileConfigurationParameter parameter = JConfigurationFactory.eINSTANCE.createProfileConfigurationParameter();
parameter.setRepeatingStereotypes(RepeatingStereotypesSolution.COMPOSITION);
configuration.getConfigurationParameters().add(parameter);
resource.getContents().add(configuration);
return resource;
}
}