artifact editor: disable editing for manifest files inside jars

This commit is contained in:
nik
2011-04-08 10:01:11 +04:00
parent 3609b382c9
commit 62c3417061
3 changed files with 14 additions and 10 deletions
@@ -229,7 +229,7 @@ public class ManifestFileUtil {
if (classpathText != null) {
classpath.addAll(StringUtil.split(classpathText, " "));
}
return new ManifestFileConfiguration(path, classpath, mainClass);
return new ManifestFileConfiguration(path, classpath, mainClass, manifestFile.isWritable());
}
public static List<String> getClasspathForElements(List<? extends PackagingElement<?>> elements, PackagingElementResolvingContext context, final ArtifactType artifactType) {
@@ -120,7 +120,9 @@ public abstract class ElementWithManifestPropertiesPanel<E extends CompositeElem
card = "properties";
myManifestPathField.setText(FileUtil.toSystemDependentName(myManifestFileConfiguration.getManifestFilePath()));
myMainClassField.setText(StringUtil.notNullize(myManifestFileConfiguration.getMainClass()));
myMainClassField.setEnabled(myManifestFileConfiguration.isWritable());
myClasspathField.setText(StringUtil.join(myManifestFileConfiguration.getClasspath(), " "));
myClasspathField.setEnabled(myManifestFileConfiguration.isWritable());
}
else {
card = "buttons";
@@ -25,15 +25,20 @@ import java.util.ArrayList;
* @author nik
*/
public class ManifestFileConfiguration {
private final boolean myWritable;
private List<String> myClasspath = new ArrayList<String>();
private String myMainClass;
private String myManifestFilePath;
public ManifestFileConfiguration(@NotNull ManifestFileConfiguration configuration) {
copyFrom(configuration);
myWritable = configuration.isWritable();
myClasspath.addAll(configuration.getClasspath());
myMainClass = configuration.getMainClass();
myManifestFilePath = configuration.getManifestFilePath();
}
public ManifestFileConfiguration(@NotNull String manifestFilePath, @Nullable List<String> classpath, @Nullable String mainClass) {
public ManifestFileConfiguration(@NotNull String manifestFilePath, @Nullable List<String> classpath, @Nullable String mainClass, boolean isWritable) {
myWritable = isWritable;
if (classpath != null) {
myClasspath.addAll(classpath);
}
@@ -41,17 +46,14 @@ public class ManifestFileConfiguration {
myManifestFilePath = manifestFilePath;
}
public void copyFrom(@NotNull ManifestFileConfiguration configuration) {
myClasspath.clear();
myClasspath.addAll(configuration.getClasspath());
myMainClass = configuration.getMainClass();
myManifestFilePath = configuration.getManifestFilePath();
}
public List<String> getClasspath() {
return myClasspath;
}
public boolean isWritable() {
return myWritable;
}
public void setClasspath(List<String> classpath) {
myClasspath = classpath;
}