You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2008/05/16 06:29:14 UTC

svn commit: r656931 - /incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java

Author: jmsnell
Date: Thu May 15 21:29:13 2008
New Revision: 656931

URL: http://svn.apache.org/viewvc?rev=656931&view=rev
Log:
https://issues.apache.org/jira/browse/ABDERA-160 - NPE in AbstractProvider when building service doc for WorkspaceInfo with null CollectionInfo collection

Modified:
    incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java

Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java?rev=656931&r1=656930&r2=656931&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractProvider.java Thu May 15 21:29:13 2008
@@ -19,6 +19,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
@@ -300,33 +301,36 @@
             for (WorkspaceInfo wi : getWorkspaceManager(request).getWorkspaces(request)) {
               sw.startWorkspace()
                 .writeTitle(wi.getTitle(request));
-              for (CollectionInfo ci : wi.getCollections(request)) {
-                sw.startCollection(ci.getHref(request))
-                  .writeTitle(ci.getTitle(request))
-                  .writeAccepts(ci.getAccepts(request));
-                CategoriesInfo[] catinfos = ci.getCategoriesInfo(request);
-                if (catinfos != null) {
-                  for (CategoriesInfo catinfo : catinfos) {
-                    String cathref = catinfo.getHref(request);
-                    if (cathref != null) {
-                      sw.startCategories()
-                        .writeAttribute("href", request.getTargetBasePath() + cathref)
-                        .endCategories();
-                    } else {
-                      sw.startCategories(
-                        catinfo.isFixed(request), 
-                        catinfo.getScheme(request));
-                      for (CategoryInfo cat : catinfo) {
-                        sw.writeCategory(
-                          cat.getTerm(request), 
-                          cat.getScheme(request), 
-                          cat.getLabel(request));
+              Collection<CollectionInfo> collections = wi.getCollections(request);
+              if (collections != null) {
+                for (CollectionInfo ci : collections) {
+                  sw.startCollection(ci.getHref(request))
+                    .writeTitle(ci.getTitle(request))
+                    .writeAccepts(ci.getAccepts(request));
+                  CategoriesInfo[] catinfos = ci.getCategoriesInfo(request);
+                  if (catinfos != null) {
+                    for (CategoriesInfo catinfo : catinfos) {
+                      String cathref = catinfo.getHref(request);
+                      if (cathref != null) {
+                        sw.startCategories()
+                          .writeAttribute("href", request.getTargetBasePath() + cathref)
+                          .endCategories();
+                      } else {
+                        sw.startCategories(
+                          catinfo.isFixed(request), 
+                          catinfo.getScheme(request));
+                        for (CategoryInfo cat : catinfo) {
+                          sw.writeCategory(
+                            cat.getTerm(request), 
+                            cat.getScheme(request), 
+                            cat.getLabel(request));
+                        }
+                        sw.endCategories();
                       }
-                      sw.endCategories();
                     }
                   }
+                  sw.endCollection();
                 }
-                sw.endCollection();
               }
               sw.endWorkspace();
             }