From 7da5f502caa418b4a72b57635a7bb646aa50a2bb Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 20 Jun 2012 13:42:12 +0400 Subject: [PATCH] j2me specific settings moved from ModuleRootModel to j2me plugin --- .../configuration/JavaContentEntryEditor.java | 17 +--- .../impl/ProjectRootManagerComponent.java | 6 -- .../openapi/roots/ModifiableRootModel.java | 16 ++++ .../openapi/roots/ModuleRootModel.java | 11 +-- .../openapi/roots/impl/ContentEntryImpl.java | 3 - .../roots/impl/ModuleRootManagerImpl.java | 4 +- .../openapi/roots/impl/RootModelImpl.java | 91 +------------------ 7 files changed, 28 insertions(+), 120 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JavaContentEntryEditor.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JavaContentEntryEditor.java index 05fce202a221..ae0efa1b32c3 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JavaContentEntryEditor.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/JavaContentEntryEditor.java @@ -45,14 +45,8 @@ public abstract class JavaContentEntryEditor extends ContentEntryEditor { @Override protected ExcludeFolder doAddExcludeFolder(@NotNull final VirtualFile file) { final boolean isCompilerOutput = isCompilerOutput(file); - final boolean isExplodedDirectory = isExplodedDirectory(file); - if (isCompilerOutput || isExplodedDirectory) { - if (isCompilerOutput) { - myCompilerExtension.setExcludeOutput(true); - } - if (isExplodedDirectory) { - getModel().setExcludeExplodedDirectory(true); - } + if (isCompilerOutput) { + myCompilerExtension.setExcludeOutput(true); return null; } return super.doAddExcludeFolder(file); @@ -65,9 +59,6 @@ public abstract class JavaContentEntryEditor extends ContentEntryEditor { if (isCompilerOutput(file)) { myCompilerExtension.setExcludeOutput(false); } - if (isExplodedDirectory(file)) { - getModel().setExcludeExplodedDirectory(false); - } } super.doRemoveExcludeFolder(excludeFolder); } @@ -94,8 +85,4 @@ public abstract class JavaContentEntryEditor extends ContentEntryEditor { return false; } - - private boolean isExplodedDirectory(@NotNull final VirtualFile file) { - return file.equals(getModel().getExplodedDirectory()); - } } diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java index 0797903a9f0b..9f84f8a6d50f 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/ProjectRootManagerComponent.java @@ -28,7 +28,6 @@ import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.impl.ModuleEx; -import com.intellij.openapi.module.impl.ModuleImpl; import com.intellij.openapi.project.DumbServiceImpl; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; @@ -264,11 +263,6 @@ public class ProjectRootManagerComponent extends ProjectRootManagerImpl { } } } - - final String explodedDirectory = moduleRootManager.getExplodedDirectoryUrl(); - if (explodedDirectory != null) { - recursive.add(extractLocalPath(explodedDirectory)); - } } return Pair.create(recursive, flat); diff --git a/platform/projectModel-api/src/com/intellij/openapi/roots/ModifiableRootModel.java b/platform/projectModel-api/src/com/intellij/openapi/roots/ModifiableRootModel.java index 87e0c9dbce80..b0bc260e4894 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/roots/ModifiableRootModel.java +++ b/platform/projectModel-api/src/com/intellij/openapi/roots/ModifiableRootModel.java @@ -151,14 +151,30 @@ public interface ModifiableRootModel extends ModuleRootModel { */ void inheritSdk(); + /** + * @deprecated moved to J2ME plugin + */ + @Deprecated void setExplodedDirectory(VirtualFile file); + /** + * @deprecated moved to J2ME plugin + */ + @Deprecated void setExplodedDirectory(String url); boolean isChanged(); + /** + * @deprecated moved to J2ME plugin + */ + @Deprecated boolean isExcludeExplodedDirectory(); + /** + * @deprecated moved to J2ME plugin + */ + @Deprecated void setExcludeExplodedDirectory(boolean excludeExplodedDir); boolean isWritable(); diff --git a/platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModel.java b/platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModel.java index 24e699e892da..54d60ff98abe 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModel.java +++ b/platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModel.java @@ -146,19 +146,16 @@ public interface ModuleRootModel { @NotNull String[] getSourceRootUrls(boolean includingTests); /** - * Returns an exploded directory path of the module, if it is valid. - * - * @return exploded directory path of the module, or null if not applicable or not set. + * @deprecated moved to J2ME plugin */ + @Deprecated @Nullable VirtualFile getExplodedDirectory(); /** - * Returns an exploded directory path url. - * - * @return exploded directory path url, or null if it has never been set - * or if not applicable for this module. + * @deprecated moved to J2ME plugin */ + @Deprecated @Nullable String getExplodedDirectoryUrl(); diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ContentEntryImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ContentEntryImpl.java index ae97df4ca673..b97300232cc8 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ContentEntryImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ContentEntryImpl.java @@ -126,9 +126,6 @@ public class ContentEntryImpl extends RootModelComponentBase implements ContentE addExcludeForOutputPath(file, result); } } - if (getRootModel().isExcludeExplodedDirectory()) { - addExcludeForOutputPath(getRootModel().myExplodedDirectoryPointer, result); - } return result.toArray(new ExcludeFolder[result.size()]); } diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ModuleRootManagerImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ModuleRootManagerImpl.java index b36f4790dbd0..44d7a65d906c 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ModuleRootManagerImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/ModuleRootManagerImpl.java @@ -107,11 +107,11 @@ public class ModuleRootManagerImpl extends ModuleRootManager implements ModuleCo public VirtualFile getExplodedDirectory() { - return myRootModel.getExplodedDirectory(); + return null; } public String getExplodedDirectoryUrl() { - return myRootModel.getExplodedDirectoryUrl(); + return null; } @NotNull diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootModelImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootModelImpl.java index b32f7201af8f..a7fa8f32fc05 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootModelImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/impl/RootModelImpl.java @@ -30,7 +30,6 @@ import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.openapi.vfs.pointers.VirtualFilePointer; import com.intellij.openapi.vfs.pointers.VirtualFilePointerContainer; import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager; import com.intellij.util.ArrayUtil; @@ -58,19 +57,7 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel final ModuleRootManagerImpl myModuleRootManager; private boolean myWritable; private final VirtualFilePointerManager myFilePointerManager; - - @Nullable VirtualFilePointer myExplodedDirectoryPointer; - @Nullable private String myExplodedDirectory; - private boolean myExcludeExploded; - - @NonNls private static final String EXPLODED_TAG = "exploded"; - @NonNls private static final String ATTRIBUTE_URL = "url"; - @NonNls private static final String URL_ATTR = ATTRIBUTE_URL; - - @NonNls private static final String EXCLUDE_EXPLODED_TAG = "exclude-exploded"; - private boolean myDisposed = false; - private final Set myExtensions = new TreeSet(); private final Map myOrderRootPointerContainers = @@ -140,10 +127,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel myOrderEntries.add(new ModuleSourceOrderEntryImpl(this)); } - myExcludeExploded = element.getChild(EXCLUDE_EXPLODED_TAG) != null; - - myExplodedDirectoryPointer = getOutputPathValue(element, EXPLODED_TAG, true); - myExplodedDirectory = getOutputPathValue(element, EXCLUDE_EXPLODED_TAG); myWritable = true; @@ -194,8 +177,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel myWritable = writable; myConfigurationAccessor = rootConfigurationAccessor; - setExplodedFrom(rootModel, filePointerManager); - final Set thatContent = rootModel.myContent; for (ContentEntry contentEntry : thatContent) { if (contentEntry instanceof ClonableContentEntry) { @@ -214,15 +195,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel } } - private void setExplodedFrom(@NotNull RootModelImpl rootModel, @NotNull VirtualFilePointerManager filePointerManager) { - if (rootModel.myExplodedDirectoryPointer != null) { - myExplodedDirectoryPointer = filePointerManager.duplicate(rootModel.myExplodedDirectoryPointer, getModule(), null); - } - myExplodedDirectory = rootModel.myExplodedDirectory; - - myExcludeExploded = rootModel.myExcludeExploded; - } - private void copyContainersFrom(@NotNull RootModelImpl rootModel) { myOrderRootPointerContainers.clear(); for (PersistentOrderRootType orderRootType : OrderRootType.getAllPersistentTypes()) { @@ -387,12 +359,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel public void docommit() { assert isWritable(); - if (!vptrEqual(myExplodedDirectoryPointer, getSourceModel().myExplodedDirectoryPointer)) { - getSourceModel().setExplodedDirectory(getExplodedDirectoryUrl()); - } - - getSourceModel().myExcludeExploded = myExcludeExploded; - if (areOrderEntriesChanged()) { getSourceModel().setOrderEntriesFrom(this); } @@ -409,8 +375,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel getSourceModel().copyContainersFrom(this); } - getSourceModel().setExplodedFrom(this, myFilePointerManager); - for (ModuleExtension extension : myExtensions) { if (extension.isChanged()) { extension.commit(); @@ -462,16 +426,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel extension.writeExternal(element); } - if (myExplodedDirectory != null) { - final Element pathElement = new Element(EXPLODED_TAG); - pathElement.setAttribute(URL_ATTR, myExplodedDirectory); - element.addContent(pathElement); - } - - if (myExcludeExploded) { - element.addContent(new Element(EXCLUDE_EXPLODED_TAG)); - } - for (ContentEntry contentEntry : getContent()) { if (contentEntry instanceof ContentEntryImpl) { final Element subElement = new Element(ContentEntryImpl.ELEMENT_NAME); @@ -590,18 +544,15 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel @Override public VirtualFile getExplodedDirectory() { - return myExplodedDirectoryPointer == null ? null : myExplodedDirectoryPointer.getFile(); + return null; } @Override public void setExplodedDirectory(@Nullable VirtualFile file) { - setExplodedDirectory(file == null ? null : file.getUrl()); } @Override public void setExplodedDirectory(@Nullable String url) { - myExplodedDirectory = url; - myExplodedDirectoryPointer = url == null ? null : myFilePointerManager.create(url, myDisposable, null); } @Override @@ -612,31 +563,18 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel @Override public String getExplodedDirectoryUrl() { - return myExplodedDirectoryPointer == null ? null : myExplodedDirectoryPointer.getUrl(); + return null; } - private static boolean vptrEqual(@Nullable VirtualFilePointer p1, @Nullable VirtualFilePointer p2) { - if (p1 == null && p2 == null) return true; - if (p1 == null || p2 == null) return false; - return Comparing.equal(p1.getUrl(), p2.getUrl()); - } - - @Override public boolean isChanged() { if (!myWritable) return false; - if (!vptrEqual(myExplodedDirectoryPointer, getSourceModel().myExplodedDirectoryPointer)) { - return true; - } - for (ModuleExtension moduleExtension : myExtensions) { if (moduleExtension.isChanged()) return true; } - return myExcludeExploded != getSourceModel().myExcludeExploded || - areOrderEntriesChanged() || - areContentEntriesChanged() || areOrderRootPointerContainersChanged(); + return areOrderEntriesChanged() || areContentEntriesChanged() || areOrderRootPointerContainersChanged(); } private boolean areOrderRootPointerContainersChanged() { @@ -746,12 +684,11 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel @Override public boolean isExcludeExplodedDirectory() { - return myExcludeExploded; + return false; } @Override public void setExcludeExplodedDirectory(boolean excludeExplodedDir) { - myExcludeExploded = excludeExplodedDir; } private class Order extends ArrayList { @@ -896,26 +833,6 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel } } - @Nullable - private VirtualFilePointer getOutputPathValue(@NotNull Element element, String tag, final boolean createPointer) { - final Element outputPathChild = element.getChild(tag); - VirtualFilePointer vptr = null; - if (outputPathChild != null && createPointer) { - String outputPath = outputPathChild.getAttributeValue(ATTRIBUTE_URL); - vptr = myFilePointerManager.create(outputPath, myDisposable, null); - } - return vptr; - } - - @Nullable - private static String getOutputPathValue(@NotNull Element element, String tag) { - final Element outputPathChild = element.getChild(tag); - if (outputPathChild != null) { - return outputPathChild.getAttributeValue(ATTRIBUTE_URL); - } - return null; - } - @Nullable @Override public T getModuleExtension(@NotNull final Class klass) {