You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2009/04/16 03:33:54 UTC

svn commit: r765446 - /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java

Author: johnh
Date: Thu Apr 16 01:33:54 2009
New Revision: 765446

URL: http://svn.apache.org/viewvc?rev=765446&view=rev
Log:
Refinement to SHINDIG-969. Throw IllegalStateException when retreiving Gadget.getAllFeatures() when the Gadget has no GadgetFeatureRegistry set. Suggested by Adam Winer.


Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java?rev=765446&r1=765445&r2=765446&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java Thu Apr 16 01:33:54 2009
@@ -95,14 +95,20 @@
    */
   private List<String> allGadgetFeatures;
   public synchronized List<String> getAllFeatures() {
-    if (allGadgetFeatures == null && gadgetFeatureRegistry != null) {
-      allGadgetFeatures = Lists.newArrayList();
-      for (GadgetFeature gadgetFeature :
-             gadgetFeatureRegistry.getFeatures(this.spec.getModulePrefs().getFeatures().keySet())) {
-        allGadgetFeatures.add(gadgetFeature.getName());
+    if (allGadgetFeatures == null) {
+      if (gadgetFeatureRegistry != null) {
+        allGadgetFeatures = Lists.newArrayList();
+        for (GadgetFeature gadgetFeature :
+               gadgetFeatureRegistry.getFeatures(
+                   this.spec.getModulePrefs().getFeatures().keySet())) {
+          allGadgetFeatures.add(gadgetFeature.getName());
+        }
+        // now all features are in reverse order of dependency. So reverse the list.
+        Collections.reverse(allGadgetFeatures);
+      } else {
+        throw new IllegalStateException(
+            "setGadgetFeatureRegistry must be called before Gadget.getAllFeatures()");
       }
-      // now all features are in reverse order of dependency. So reverse the list.
-      Collections.reverse(allGadgetFeatures);
     }
     return allGadgetFeatures;
   }