/**
*
*/
package org.feature.transform.splot2fm.handler;
import java.util.List;
import org.apache.log4j.Logger;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.feature.model.utilities.FeatureModelInit;
import org.js.model.feature.FeatureModel;
/**
* @author <a href="mailto:info@juliaschroeter.de">Julia Schroeter</a>
*
*/
public class MakeNamesUniqueCommandHandler extends AbstractGenCommandHandler {
private static Logger log = Logger.getLogger(MakeNamesUniqueCommandHandler.class);
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ResourceSetImpl resourceSet = new ResourceSetImpl();
List<IFile> files = getFilesFromWorkspace();
for (IFile iFile : files) {
FeatureModel featureModel = FeatureModelInit.getFeatureModel(iFile, resourceSet);
if (featureModel != null) {
boolean isChanged = FeatureModelInit.makeFeatureIdsUnique(featureModel);
if (isChanged) {
FeatureModelInit.persistFMFeatureModel(featureModel, iFile.getRawLocation().toOSString());
} else {
log.info("Nothing changed. Feature names are already unique.");
}
}
}
return null;
}
}