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