Author: ssmiweve
Date: 2009-02-24 23:54:26 +0100 (Tue, 24 Feb 2009)
New Revision: 7206

Modified:
   
branches/2.18/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
Log:
NPE

Modified: 
branches/2.18/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
===================================================================
--- 
branches/2.18/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
        2009-02-23 12:25:04 UTC (rev 7205)
+++ 
branches/2.18/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
        2009-02-24 22:54:26 UTC (rev 7206)
@@ -54,22 +54,26 @@
     }
 
     public NavigationItem getNavigationItems(Context context) {
-        final ResultList<ResultItem> searchResult = commandName != null
-                ? context.getDataModel().getSearch(commandName).getResults()
+
+        final DataModel dm = context.getDataModel();
+
+        final ResultList<ResultItem> searchResult = commandName != null && 
null != dm.getSearch(commandName)
+                ? dm.getSearch(commandName).getResults()
                 : null;
 
-        if (! config.getOptionsToKeep().isEmpty()) {
-            removeAllBut(config.getOptionsToKeep(), searchResult, 
context.getDataModel());
+        if (!config.getOptionsToKeep().isEmpty()) {
+            removeAllBut(config.getOptionsToKeep(), searchResult, dm);
         }
 
-        removeAll(config.getOptionsToDelete(), context.getDataModel());
-        addAll(config.getOptionsToAdd(), context.getDataModel(), context);
+        removeAll(config.getOptionsToDelete(), dm);
+        addAll(config.getOptionsToAdd(), dm, context);
 
         // Only modifies the result of the parent. Return null.
         return null;
     }
 
     private void removeAll(final Collection<OptionsNavigationConfig.Option> 
options, final DataModel dataModel) {
+
         final NavigationItem parentResult = 
dataModel.getNavigation().getNavigation(config.getParent().getId());
         for (final Iterator<NavigationItem> iterator = 
parentResult.getResults().iterator(); iterator.hasNext();) {
             final NavigationItem item = iterator.next();
@@ -85,6 +89,7 @@
             final Collection<OptionsNavigationConfig.Option> optionsToKeep,
             final ResultList<ResultItem> searchResult,
             final DataModel dataModel) {
+
         final NavigationItem parentResult = 
dataModel.getNavigation().getNavigation(config.getParent().getId());
         final List<NavigationItem> toRemove = new ArrayList<NavigationItem>();
         StringDataObject selectedValue = 
dataModel.getParameters().getValue(config.getParent().getField());
@@ -131,7 +136,8 @@
 
         for (final OptionsNavigationConfig.Option option : optionsToAdd) {
 
-            final ResultList<ResultItem> searchResult = 
option.getCommandName() != null
+            final String cmdName = option.getCommandName();
+            final ResultList<ResultItem> searchResult = null != cmdName && 
null != dataModel.getSearch(cmdName)
                     ? dataModel.getSearch(option.getCommandName()).getResults()
                     : null;
 
@@ -164,8 +170,8 @@
                     selectionDone = true;
                 }
 
-                if (option.isUseHitCount() && option.getCommandName() != null) 
{
-                    
navigator.setHitCount(dataModel.getSearch(option.getCommandName()).getResults().getHitCount());
+                if (option.isUseHitCount() && searchResult != null) {
+                    navigator.setHitCount(searchResult.getHitCount());
                 }
             }
         }

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to