package jetbrains.mps.ide.newModuleDialogs; /*Generated by MPS */ import org.apache.log4j.Logger; import org.apache.log4j.LogManager; import jetbrains.mps.project.AbstractModule; import jetbrains.mps.project.MPSProject; import org.jetbrains.annotations.Nullable; import jetbrains.mps.vfs.IFile; import jetbrains.mps.smodel.Language; import jetbrains.mps.project.MPSExtentions; import jetbrains.mps.project.Solution; import jetbrains.mps.ide.ui.dialogs.modules.CloneModuleSettings; import org.jetbrains.annotations.NonNls; /** * * @author Radimir, apyshkin */ public final class CloneModuleDialog extends AbstractModuleCreationDialog { private static final Logger LOG = LogManager.getLogger(CloneModuleDialog.class); private final AbstractModule myModuleOriginal; public CloneModuleDialog(MPSProject project, @Nullable String virtualFolder, AbstractModule moduleOriginal) { super(project, virtualFolder); setTitle("Clone Module " + moduleOriginal.getModuleName()); myModuleOriginal = moduleOriginal; init(); } @Override protected void runCreation() { IFile moduleLocationFile = myModuleOriginal.getFileSystem().getFile(mySettings.getModuleLocation()).getDescendant(mySettings.getModuleName() + getExtension()); CopyModuleHelper helper = new CopyModuleHelper(myProject, myModuleOriginal, mySettings.getModuleName(), moduleLocationFile, myVirtualFolder); myResult = helper.copy(); } @Override protected String getExtension() { if (myModuleOriginal instanceof Language) { return MPSExtentions.DOT_LANGUAGE; } if (myModuleOriginal instanceof Solution) { return MPSExtentions.DOT_SOLUTION; } return null; } @Override protected CloneModuleSettings createSettingsInstance() { return new CloneModuleSettings(getProjectPath(), myModuleOriginal); } @Nullable @NonNls @Override protected String getDimensionServiceKey() { return CloneModuleDialog.class.getName(); } }