[154232] IModuleFolder.members() should not return null
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
index 314c769..b058eb4 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
@@ -579,6 +579,9 @@
}
private static void addZipEntries(ZipOutputStream zout, IModuleResource[] resources) throws Exception {
+ if (resources == null)
+ return;
+
int size = resources.length;
for (int i = 0; i < size; i++) {
if (resources[i] instanceof IModuleFolder) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
index 2277757..c1f4b1f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFolder.java
@@ -19,6 +19,7 @@
*
*/
public class ModuleFolder implements IModuleFolder {
+ private static final IModuleResource[] EMPTY_RESOURCE_ARRAY = new IModuleResource[0];
protected IContainer container;
protected String name;
protected IPath path;
@@ -75,6 +76,8 @@
* @see org.eclipse.wst.server.core.model.IModuleFolder#members()
*/
public IModuleResource[] members() {
+ if (members == null)
+ return EMPTY_RESOURCE_ARRAY;
return members;
}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
index dc7e71c..9298f95 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
@@ -940,7 +940,7 @@
return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
}
-
+
/**
* Returns all publish tasks that have been targetted to this server type.
* The tasks will not be initialized with a task model.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
index fc59293..73e2695 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
@@ -390,7 +390,7 @@
private static IModuleResourceDelta[] getDeltaTree(IModuleResource[] resources, int kind) {
if (resources == null)
return new IModuleResourceDelta[0];
-
+
List list = new ArrayList();
// look for duplicates
@@ -426,7 +426,7 @@
/**
* Fill the module cache.
*/
- protected void startCaching() {
+ public void startCaching() {
Iterator iterator = modulePublishInfo.values().iterator();
while (iterator.hasNext()) {
ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();