Author: rob.stryker(a)jboss.com
Date: 2011-08-05 04:52:27 -0400 (Fri, 05 Aug 2011)
New Revision: 33624
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/NewServerFilesetHandler.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/runtime/CustomRuntimeClasspathModel.java
Log:
JBIDE-1354 - classpath issues
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetUtil.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetUtil.java 2011-08-05
08:05:16 UTC (rev 33623)
+++
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/FilesetUtil.java 2011-08-05
08:52:27 UTC (rev 33624)
@@ -31,6 +31,12 @@
return loadFilesets(getFile(server), server);
}
+ /**
+ * Must return a list of filesets. NOT NULL
+ * @param file
+ * @param server
+ * @return
+ */
public static Fileset[] loadFilesets(File file, IServer server) {
if( file != null && file.exists()) {
try {
@@ -40,14 +46,27 @@
return new Fileset[]{};
}
+ /**
+ * May return null, or a list of filesets
+ * @param is
+ * @param server
+ * @return
+ */
public static Fileset[] loadFilesets(InputStream is, IServer server) {
Fileset[] sets = loadFilesets(is);
- for( int i = 0; i < sets.length; i++ ) {
- sets[i].setServer(server);
+ if( sets != null ) {
+ for( int i = 0; i < sets.length; i++ ) {
+ sets[i].setServer(server);
+ }
}
return sets;
}
+ /**
+ * may return null
+ * @param is
+ * @return
+ */
public static Fileset[] loadFilesets(InputStream is) {
Fileset[] filesets = null;
XMLMemento memento = XMLMemento.createReadRoot(is);
@@ -61,7 +80,7 @@
excludes = categoryMementos[i].getString("excludes");//$NON-NLS-1$
filesets[i] = new Fileset(name, folder, includes, excludes);
}
- return filesets == null ? new Fileset[] { } : filesets;
+ return filesets;
}
public static void saveFilesets(IServer server, Fileset[] sets) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/NewServerFilesetHandler.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/NewServerFilesetHandler.java 2011-08-05
08:05:16 UTC (rev 33623)
+++
trunk/as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/filesets/NewServerFilesetHandler.java 2011-08-05
08:52:27 UTC (rev 33624)
@@ -36,7 +36,7 @@
if( url != null ) {
InputStream fis = url.openStream();
Fileset[] sets = FilesetUtil.loadFilesets(fis, null);
- if( sets.length != 0 ) {
+ if( sets != null && sets.length != 0 ) {
FilesetUtil.saveFilesets(fileToWrite.toFile(), sets);
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/runtime/CustomRuntimeClasspathModel.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/runtime/CustomRuntimeClasspathModel.java 2011-08-05
08:05:16 UTC (rev 33623)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/runtime/CustomRuntimeClasspathModel.java 2011-08-05
08:52:27 UTC (rev 33624)
@@ -10,6 +10,11 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.classpath.core.runtime;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -17,6 +22,7 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.internal.XMLMemento;
import org.jboss.ide.eclipse.archives.webtools.filesets.Fileset;
import org.jboss.ide.eclipse.archives.webtools.filesets.FilesetUtil;
@@ -61,7 +67,7 @@
public IDefaultPathProvider[] getEntries(IRuntimeType type) {
IDefaultPathProvider[] sets = loadFilesets(type);
- if( sets == null || sets.length == 0) {
+ if( sets == null ) {
return getDefaultEntries(type);
}
return sets;
@@ -193,14 +199,25 @@
public static IDefaultPathProvider[] loadFilesets(IRuntimeType rt) {
IPath fileToRead = DEFAULT_CLASSPATH_FS_ROOT.append(rt.getId());
- Fileset[] sets = FilesetUtil.loadFilesets(fileToRead.toFile(), null);
- PathProviderFileset[] newSets = new PathProviderFileset[sets.length];
- for( int i = 0; i < sets.length; i++ ) {
- newSets[i] = new PathProviderFileset(sets[i]);
+ Fileset[] sets = loadFilesets(fileToRead.toFile(), null);
+ if( sets != null ) {
+ PathProviderFileset[] newSets = new PathProviderFileset[sets.length];
+ for( int i = 0; i < sets.length; i++ ) {
+ newSets[i] = new PathProviderFileset(sets[i]);
+ }
+ return newSets;
}
- return newSets;
+ return null;
}
-
+ public static Fileset[] loadFilesets(File file, IServer server) {
+ if( file != null && file.exists()) {
+ try {
+ return FilesetUtil.loadFilesets(new FileInputStream(file), server);
+ } catch( FileNotFoundException fnfe) {}
+ }
+ return null;
+ }
+
public static void saveFilesets(IRuntimeType runtime, IDefaultPathProvider[] sets) {
IPath fileToWrite = DEFAULT_CLASSPATH_FS_ROOT.append(runtime.getId());
XMLMemento memento = XMLMemento.createWriteRoot("classpathProviders");
//$NON-NLS-1$
@@ -216,5 +233,10 @@
// TODO
}
}
+ try {
+ memento.save(new FileOutputStream(fileToWrite.toFile()));
+ } catch( IOException ioe) {
+ // TODO LOG
+ }
}
}