mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
j2me specific settings moved from ModuleRootModel to j2me plugin
This commit is contained in:
+2
-15
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
-6
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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()]);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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<ModuleExtension> myExtensions = new TreeSet<ModuleExtension>();
|
||||
|
||||
private final Map<PersistentOrderRootType, VirtualFilePointerContainer> 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<ContentEntry> 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<OrderEntry> {
|
||||
@@ -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> T getModuleExtension(@NotNull final Class<T> klass) {
|
||||
|
||||
Reference in New Issue
Block a user