Author: ssmiweve
Date: 2007-06-11 23:53:06 +0200 (Mon, 11 Jun 2007)
New Revision: 5304
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigationCommand.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/DataModelResultHandler.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/RunningQueryImpl.java
trunk/data-model-api/pom.xml
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/DataModel.java
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/search/SearchDataObject.java
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/BasicNavigationItem.java
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/ResultItem.java
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
Log:
SEARCH-297 - Build Navigation Data Model
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSearchCommand.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -814,6 +814,7 @@
protected static ResultList<? extends ResultItem> getSearchResult(
final String id,
final DataModel datamodel) throws InterruptedException {
+
synchronized (datamodel.getSearches()) {
while (null == datamodel.getSearch(id)) {
// next line releases the monitor so it is possible to call
this method from different threads
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigationCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigationCommand.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigationCommand.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -4,8 +4,10 @@
import no.schibstedsok.searchportal.datamodel.generic.StringDataObjectSupport;
import no.schibstedsok.searchportal.mode.config.NavigationCommandConfig;
import no.schibstedsok.searchportal.result.BasicResultList;
+import no.schibstedsok.searchportal.result.BasicNavigationItem;
import no.schibstedsok.searchportal.result.FastSearchResult;
import no.schibstedsok.searchportal.result.Modifier;
+import no.schibstedsok.searchportal.result.NavigationItem;
import no.schibstedsok.searchportal.result.ResultItem;
import no.schibstedsok.searchportal.result.ResultList;
import org.apache.log4j.Logger;
@@ -13,11 +15,9 @@
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.ListIterator;
import java.util.Set;
/**
@@ -115,24 +115,39 @@
* @param name the id of the navigator to get.
* @return a list with extended navigators
*/
- public NavigatorList getNavigators(String name) {
+ public NavigationItem getNavigators(final String name) {
+
NavigationCommandConfig.Nav navEntry =
extendedNavigationConfig.getNavMap().get(name);
try {
if (navEntry != null) {
boolean selectionDone = false;
StringDataObject selectedValue =
context.getDataModel().getParameters().getValue(name);
- NavigatorList extendedNavigators = new NavigatorList(new
ArrayList<ExtendedNavigator>());
+ final NavigationItem extendedNavigators = new
BasicNavigationItem();
FastSearchResult fsr = null;
+
if (navEntry.getCommandName() != null) {
- ResultList<? extends ResultItem> searchResult =
getSearchResult(navEntry.getCommandName(), context.getDataModel());
+ final ResultList<? extends ResultItem> searchResult
+ = getSearchResult(navEntry.getCommandName(),
context.getDataModel());
+
if (searchResult instanceof FastSearchResult) {
fsr = (FastSearchResult) searchResult;
- List<Modifier> modifiers =
fsr.getModifiers(navEntry.isRealNavigator() ? navEntry.getField() : name);
+ final List<Modifier> modifiers =
fsr.getModifiers(navEntry.isRealNavigator()
+ ? navEntry.getField()
+ : name);
+
if (modifiers != null && modifiers.size() > 0) {
for (Modifier modifier : modifiers) {
- final String navigatorName =
modifier.getNavigator() == null ? null : modifier.getNavigator().getName();
- final String urlFragment =
getUrlFragment(navEntry, modifier.getName(), navigatorName);
- final ExtendedNavigator navigator = new
ExtendedNavigator(modifier.getName(), urlFragment, modifier.getCount());
+
+ final String navigatorName =
modifier.getNavigator() == null
+ ? null
+ :
modifier.getNavigator().getName();
+
+ final String urlFragment
+ = getUrlFragment(navEntry,
modifier.getName(), navigatorName);
+
+ final NavigationItem navigator
+ = new
BasicNavigationItem(modifier.getName(), urlFragment, modifier.getCount());
+
if (!selectionDone) {
selectedValue =
context.getDataModel().getParameters().getValue(navEntry.getField());
if (selectedValue != null &&
selectedValue.getString().equals(modifier.getName())) {
@@ -140,7 +155,7 @@
selectionDone = true;
}
}
- extendedNavigators.add(navigator);
+ extendedNavigators.addResult(navigator);
}
}
}
@@ -159,20 +174,22 @@
private void getOptionNavigators(
final NavigationCommandConfig.Nav navEntry,
final FastSearchResult fsr,
- final List<ExtendedNavigator> extendedNavigators,
+ final NavigationItem extendedNavigators,
StringDataObject selectedValue) {
// Only used by getNavigators. Mainly to split code.
- if (extendedNavigators.size() > 0 && navEntry.getOptions().size()
> 0) {
+ if (extendedNavigators.getResults().size() > 0 &&
navEntry.getOptions().size() > 0) {
+
+ final List<NavigationItem> toRemove = new
ArrayList<NavigationItem>();
+
// Navigators already collected. Options is override
- Iterator<ExtendedNavigator> it = extendedNavigators.iterator();
- while (it.hasNext()) {
+ for (NavigationItem navigator :
extendedNavigators.getResults()) {
boolean match = false;
- ExtendedNavigator navigator = it.next();
+
// Double loop to find match in two lists. Not nice, but
it works.
for (NavigationCommandConfig.Option option :
navEntry.getOptions()) {
- String value = option.getValue();
- if (navigator.name.equals(value)) {
+ final String value = option.getValue();
+ if (navigator.getTitle().equals(value)) {
match = true;
if (selectedValue == null &&
option.isDefaultSelect()) {
navigator.setSelected(true);
@@ -184,12 +201,19 @@
}
}
if (!match) {
- it.remove();
+ toRemove.add(navigator);
}
}
+ for(NavigationItem item : toRemove){
+ extendedNavigators.removeResult(item);
+ }
+
} else {
- final StringDataObject optionSelectedValue =
context.getDataModel().getParameters().getValue(navEntry.getField());
+ final StringDataObject optionSelectedValue
+ =
context.getDataModel().getParameters().getValue(navEntry.getField());
+
for (NavigationCommandConfig.Option option :
navEntry.getOptions()) {
+
String value = option.getValue();
if (option.getValueRef() != null && fsr != null) {
String tmp = fsr.getField(option.getValueRef());
@@ -198,8 +222,10 @@
}
}
if (value != null) {
- ExtendedNavigator navigator = new
ExtendedNavigator(option.getDisplayName(), getUrlFragment(navEntry, value), -1);
- extendedNavigators.add(navigator);
+ final NavigationItem navigator
+ = new
BasicNavigationItem(option.getDisplayName(), getUrlFragment(navEntry, value),
-1);
+
+ extendedNavigators.addResult(navigator);
if (optionSelectedValue == null &&
option.isDefaultSelect()) {
navigator.setSelected(true);
} else if (optionSelectedValue != null &&
optionSelectedValue.getString().equals(value)) {
@@ -348,204 +374,4 @@
}
}
- public static class NavigatorList implements List<ExtendedNavigator> {
- private List<ExtendedNavigator> proxiedList;
- private boolean dirty = true;
- private ExtendedNavigator selectedItem;
-
- public NavigatorList(List<ExtendedNavigator> proxiedList) {
- this.proxiedList = proxiedList;
- }
-
- public ExtendedNavigator getChildSelected() {
- findSelection();
- return selectedItem;
- }
-
- private void findSelection() {
- if (dirty) {
- selectedItem = null;
- for (ExtendedNavigator extendedNavigator : proxiedList) {
- if (extendedNavigator.isSelected()) {
- selectedItem = extendedNavigator;
- break;
- }
- }
- }
- dirty = false;
- }
-
- public boolean isChildSelected() {
- findSelection();
- return selectedItem != null;
- }
-
- public int size() {
- return proxiedList.size();
- }
-
- public boolean isEmpty() {
- return proxiedList.isEmpty();
- }
-
- public boolean contains(Object o) {
- return proxiedList.contains(o);
- }
-
- public Iterator<ExtendedNavigator> iterator() {
- dirty = true;
- return proxiedList.iterator();
- }
-
- public Object[] toArray() {
- return proxiedList.toArray();
- }
-
- public <T> T[] toArray(T[] a) {
- return proxiedList.toArray(a);
- }
-
- public boolean add(ExtendedNavigator t) {
- dirty = true;
- return proxiedList.add(t);
- }
-
- public boolean remove(Object o) {
- return proxiedList.remove(o);
- }
-
- public boolean containsAll(Collection<?> c) {
- return proxiedList.containsAll(c);
- }
-
- public boolean addAll(Collection<? extends ExtendedNavigator> c) {
- dirty = true;
- return proxiedList.addAll(c);
- }
-
- public boolean addAll(int index, Collection<? extends
ExtendedNavigator> c) {
- dirty = true;
- return proxiedList.addAll(index, c);
- }
-
- public boolean removeAll(Collection<?> c) {
- dirty = true;
- return proxiedList.removeAll(c);
- }
-
- public boolean retainAll(Collection<?> c) {
- dirty = true;
- return proxiedList.retainAll(c);
- }
-
- public void clear() {
- dirty = true;
- proxiedList.clear();
- }
-
- public ExtendedNavigator get(int index) {
- return proxiedList.get(index);
- }
-
- public ExtendedNavigator set(int index, ExtendedNavigator element) {
- dirty = true;
- return proxiedList.set(index, element);
- }
-
- public void add(int index, ExtendedNavigator element) {
- dirty = true;
- proxiedList.add(index, element);
- }
-
- public ExtendedNavigator remove(int index) {
- dirty = true;
- return proxiedList.remove(index);
- }
-
- public int indexOf(Object o) {
- return proxiedList.indexOf(o);
- }
-
- public int lastIndexOf(Object o) {
- return proxiedList.lastIndexOf(o);
- }
-
- public ListIterator<ExtendedNavigator> listIterator() {
- dirty = true;
- return proxiedList.listIterator();
- }
-
- public ListIterator<ExtendedNavigator> listIterator(int index) {
- dirty = true;
- return proxiedList.listIterator(index);
- }
-
- public List<ExtendedNavigator> subList(int fromIndex, int toIndex) {
- return proxiedList.subList(fromIndex, toIndex);
- }
- }
-
- /**
- * This is the interface class to velocity.
- */
- public static final class ExtendedNavigator {
-
- private String name;
- private String urlFragment;
- private int count;
- private boolean selected = false;
-
- /**
- * @param displayName
- * @param urlFragment
- * @param count
- */
- public ExtendedNavigator(final String displayName, final String
urlFragment, final int count) {
- this.name = displayName;
- this.urlFragment = urlFragment;
- this.count = count;
- }
-
- /**
- * @param selected
- */
- public void setSelected(final boolean selected) {
- this.selected = selected;
- }
-
- /**
- * @return
- */
- public boolean isSelected() {
- return selected;
- }
-
- /**
- * @return
- */
- public String getTitle() {
- return name;
- }
-
- /**
- * @param name
- */
- public void setTitle(final String name) {
- this.name = name;
- }
-
- /**
- * @return
- */
- public String getUrl() {
- return urlFragment;
- }
-
- /**
- * @return
- */
- public int getHitCount() {
- return count;
- }
- }
}
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/DataModelResultHandler.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/DataModelResultHandler.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/handler/DataModelResultHandler.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -96,6 +96,7 @@
// Update the datamodel
final SearchDataObject searchDO = factory.instantiate(
SearchDataObject.class,
+ new DataObject.Property("configuration",
cxt.getSearchConfiguration()),
new DataObject.Property("query", cxt.getQuery()),
new DataObject.Property("results", cxt.getSearchResult()),
new DataObject.Property("pager", pager));
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/RunningQueryImpl.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/RunningQueryImpl.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/RunningQueryImpl.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -602,12 +602,16 @@
}
sources.removeAll(toRemove);
- if (getSearchTab().getAbsoluteOrdering()) {
+ if (getSearchTab().isAbsoluteOrdering()) {
Collections.sort(sources, Modifier.getHintPriorityComparator());
} else {
Collections.sort(sources);
}
}
+
+ private void performNavigationHandling(){
+
+ }
/** Used by the constructor. **/
private void initParameters(final RunningQuery.Context rqCxt){
Modified: trunk/data-model-api/pom.xml
===================================================================
--- trunk/data-model-api/pom.xml 2007-06-11 15:27:26 UTC (rev 5303)
+++ trunk/data-model-api/pom.xml 2007-06-11 21:53:06 UTC (rev 5304)
@@ -32,22 +32,6 @@
</execution>
</executions>
</plugin>
- <!--plugin>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- <version>1.0-SNAPSHOT</version>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
-
<outputDirectory>${basedir}/target/classes</outputDirectory>
- </configuration>
- </plugin-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
@@ -80,6 +64,11 @@
</dependency>
<dependency>
<groupId>schibstedsok</groupId>
+ <artifactId>search-portal-search-command-config-spi</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>schibstedsok</groupId>
<artifactId>search-portal-result-spi</artifactId>
<version>${version}</version>
</dependency>
Modified:
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/DataModel.java
===================================================================
---
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/DataModel.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/DataModel.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -15,6 +15,7 @@
import static no.schibstedsok.searchportal.datamodel.access.ControlLevel.*;
import no.schibstedsok.searchportal.datamodel.access.AccessAllow;
import no.schibstedsok.searchportal.datamodel.junkyard.JunkYardDataObject;
+import no.schibstedsok.searchportal.datamodel.navigation.NavigationDataObject;
import no.schibstedsok.searchportal.datamodel.query.QueryDataObject;
import no.schibstedsok.searchportal.datamodel.request.BrowserDataObject;
import no.schibstedsok.searchportal.datamodel.request.ParametersDataObject;
@@ -132,12 +133,6 @@
*/
Map<String,SearchDataObject> getSearches();
-// /**
-// *
-// * @param searches
-// */
-// void setSearches(Map<String,SearchDataObject> searches);
-
/**
*
* @param key
@@ -157,6 +152,20 @@
@AccessAllow({DATA_MODEL_CONSTRUCTION, SEARCH_COMMAND_EXECUTION})
void setSearch(final String key, final SearchDataObject value);
+ // NavigationDataObject
------------------------------------------------------------
+
+ /**
+ *
+ * @return
+ */
+ NavigationDataObject getNavigation();
+
+ /**
+ * @param value
+ */
+ @AccessAllow(DATA_MODEL_CONSTRUCTION)
+ void setNavigation(final NavigationDataObject value);
+
// JunkYardDataObject
------------------------------------------------------------
/** @return
Modified:
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/search/SearchDataObject.java
===================================================================
---
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/search/SearchDataObject.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/data-model-api/src/main/java/no/schibstedsok/searchportal/datamodel/search/SearchDataObject.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -11,6 +11,7 @@
import static no.schibstedsok.searchportal.datamodel.access.ControlLevel.*;
import no.schibstedsok.searchportal.datamodel.generic.DataObject;
import no.schibstedsok.searchportal.datamodel.query.QueryDataObject;
+import no.schibstedsok.searchportal.mode.config.SearchConfiguration;
import no.schibstedsok.searchportal.result.PagingDisplayHelper;
import no.schibstedsok.searchportal.result.ResultItem;
import no.schibstedsok.searchportal.result.ResultList;
@@ -23,9 +24,10 @@
@DataObject
public interface SearchDataObject {
-// SearchConfiguration getConfiguration();
-// void setConfiguration(SearchConfiguration configuration);
+ SearchConfiguration getConfiguration();
+ void setConfiguration(SearchConfiguration configuration);
+
/**
*
* @return
Modified:
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/BasicNavigationItem.java
===================================================================
---
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/BasicNavigationItem.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/BasicNavigationItem.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -15,6 +15,8 @@
public class BasicNavigationItem extends BasicResultList<NavigationItem>
implements NavigationItem{
private boolean selected = false;
+
+ public BasicNavigationItem(){}
/**
* @param title
Modified:
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/ResultItem.java
===================================================================
---
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/ResultItem.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/result-spi/src/main/java/no/schibstedsok/searchportal/result/ResultItem.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -31,6 +31,21 @@
* @return
*/
ResultItem setUrl(String url);
+
+ /** The title this result item represents.
+ *
+ * @return
+ */
+ String getTitle();
+
+ /** Sets the title to the returned instance which is otherwise equal to
this.
+ * There is no guarantee that this instance is altered.
+ * This allows implementations to be immutable if they choose to be.
+ *
+ * @param url
+ * @return
+ */
+ ResultItem setTitle(String title);
/**
*
Modified:
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
===================================================================
---
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
2007-06-11 15:27:26 UTC (rev 5303)
+++
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
2007-06-11 21:53:06 UTC (rev 5304)
@@ -28,8 +28,10 @@
* @author Geir H. Pettersen(T-Rank)
*/
@Controller("NavigationCommand")
-public class NavigationCommandConfig extends CommandConfig {
+public final class NavigationCommandConfig extends CommandConfig {
+
private static final Logger LOG =
Logger.getLogger(NavigationCommandConfig.class);
+
private ExtendedNavigationConfig extendedNavigationConfig;
private static final String NAVIGATION_ELEMENT = "navigation";
private static final String NAV_ELEMENT = "nav";
@@ -37,7 +39,7 @@
public NavigationCommandConfig() {
}
- public NavigationCommandConfig(SearchConfiguration sc) {
+ public NavigationCommandConfig(final SearchConfiguration sc) {
if (sc instanceof NavigationCommandConfig) {
extendedNavigationConfig = ((NavigationCommandConfig)
sc).getExtendedNavigationConfig();
}
@@ -47,16 +49,17 @@
return extendedNavigationConfig;
}
- public void setExtendedNavigationConfig(ExtendedNavigationConfig
extendedNavigationConfig) {
+ public void setExtendedNavigationConfig(final ExtendedNavigationConfig
extendedNavigationConfig) {
this.extendedNavigationConfig = extendedNavigationConfig;
}
- private static List<Element> getDirectChildren(Element element, String
elementName) {
- ArrayList<Element> children = new ArrayList<Element>();
+ private static List<Element> getDirectChildren(final Element element,
final String elementName) {
+
+ final List<Element> children = new ArrayList<Element>();
if (element != null) {
- NodeList childNodes = element.getChildNodes();
+ final NodeList childNodes = element.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
- Node childNode = childNodes.item(i);
+ final Node childNode = childNodes.item(i);
if (childNode instanceof Element &&
childNode.getNodeName().equals(elementName)) {
children.add((Element) childNode);
}
@@ -68,13 +71,14 @@
@Override
public CommandConfig readSearchConfiguration(final Element element, final
SearchConfiguration inherit) {
+
super.readSearchConfiguration(element, inherit);
- List<Element> navigationElements = getDirectChildren(element,
NAVIGATION_ELEMENT);
- HashMap<String, Nav> navMap = new HashMap<String, Nav>();
- HashMap<String, Navigation> navigationMap = new HashMap<String,
Navigation>();
- List<Navigation> navigationList = new
ArrayList<Navigation>(navigationElements.size());
+ final List<Element> navigationElements = getDirectChildren(element,
NAVIGATION_ELEMENT);
+ final Map<String, Nav> navMap = new HashMap<String, Nav>();
+ final Map<String, Navigation> navigationMap = new HashMap<String,
Navigation>();
+ final List<Navigation> navigationList = new
ArrayList<Navigation>(navigationElements.size());
for (Element navigationElement : navigationElements) {
- Navigation navigation = new Navigation(navigationElement, navMap);
+ final Navigation navigation = new Navigation(navigationElement,
navMap);
navigationList.add(navigation);
if (navigation.getId() != null) {
navigationMap.put(navigation.getId(), navigation);
@@ -88,21 +92,26 @@
* Clients may want to access this config to get info on available
navigations.
*/
public static class ExtendedNavigationConfig {
- private HashMap<String, Nav> navMap;
- private HashMap<String, Navigation> navigationMap;
- private List<Navigation> navigationList;
+
+ private final Map<String, Nav> navMap;
+ private final Map<String, Navigation> navigationMap;
+ private final List<Navigation> navigationList;
- public ExtendedNavigationConfig(HashMap<String, Nav> navMap,
HashMap<String, Navigation> navigationMap, List<Navigation> navigationList) {
+ public ExtendedNavigationConfig(
+ final Map<String, Nav> navMap,
+ final Map<String, Navigation> navigationMap,
+ final List<Navigation> navigationList) {
+
this.navigationMap = navigationMap;
this.navMap = navMap;
this.navigationList = navigationList;
}
- public HashMap<String, Nav> getNavMap() {
+ public Map<String, Nav> getNavMap() {
return navMap;
}
- public HashMap<String, Navigation> getNavigationMap() {
+ public Map<String, Navigation> getNavigationMap() {
return navigationMap;
}
@@ -112,19 +121,21 @@
}
public static class Navigation {
+
private String id;
private String commandName;
private String tab;
private boolean out = false;
private List<Nav> navList;
- private HashMap<String, Nav> navMap;
+ private Map<String, Nav> navMap;
private Set<String> resetNavSet;
private static final String RESET_NAV_ELEMENT = "reset-nav";
public Navigation() {
}
- public Navigation(Element navigationElement, HashMap<String, Nav>
navMap) {
+ public Navigation(final Element navigationElement, final Map<String,
Nav> navMap) {
+
AbstractDocumentFactory.fillBeanProperty(this, null, "id",
ParseType.String, navigationElement, null);
AbstractDocumentFactory.fillBeanProperty(this, null,
"commandName", ParseType.String, navigationElement, null);
AbstractDocumentFactory.fillBeanProperty(this, null, "tab",
ParseType.String, navigationElement, null);
@@ -154,7 +165,7 @@
}
}
- private void addReset(Nav nav) {
+ private void addReset(final Nav nav) {
if (nav != null) {
resetNavSet.add(nav.getField());
if (nav.getChildNavs() != null) {
@@ -165,7 +176,7 @@
}
}
- private void updateNavMap(Nav nav, HashMap<String, Nav> navMap) {
+ private void updateNavMap(final Nav nav, final Map<String, Nav>
navMap) {
navMap.put(nav.getId(), nav);
if (nav.getChildNavs() != null && nav.getChildNavs().size() > 0) {
for (Nav subNav : nav.getChildNavs()) {
@@ -178,11 +189,11 @@
return id;
}
- public void setId(String id) {
+ public void setId(final String id) {
this.id = id;
}
- public HashMap<String, Nav> getNavMap() {
+ public Map<String, Nav> getNavMap() {
return navMap;
}
@@ -194,7 +205,7 @@
return resetNavSet;
}
- public void setNavList(List<Nav> navList) {
+ public void setNavList(final List<Nav> navList) {
this.navList = navList;
}
@@ -202,7 +213,7 @@
return tab;
}
- public void setTab(String tab) {
+ public void setTab(final String tab) {
this.tab = tab;
}
@@ -210,7 +221,7 @@
return commandName;
}
- public void setCommandName(String commandName) {
+ public void setCommandName(final String commandName) {
this.commandName = commandName;
}
@@ -218,10 +229,11 @@
return out;
}
- public void setOut(boolean out) {
+ public void setOut(final boolean out) {
this.out = out;
}
+ @Override
public String toString() {
return "\nNavigation{" +
"commandName='" + commandName + '\'' +
@@ -234,6 +246,7 @@
}
public static class Nav {
+
private static final String OPTION_ELEMENT = "option";
private static final String STATIC_PARAMETER_ELEMENT =
"static-parameter";
private String id;
@@ -246,20 +259,46 @@
private List<Option> options;
private Map<String, String> staticParameters;
private List<Nav> childNavs;
- private Navigation navigation;
- private Nav parentNav;
+ private final Navigation navigation;
+ private final Nav parentNav;
private boolean excludeQuery = false;
- private Nav(Nav parentNav, Navigation navigation, Element navElement) {
+ private Nav(final Nav parentNav, final Navigation navigation, final
Element navElement) {
+
this.navigation = navigation;
this.parentNav = parentNav;
- AbstractDocumentFactory.fillBeanProperty(this, null,
"commandName", ParseType.String, navElement, navigation.getCommandName());
- AbstractDocumentFactory.fillBeanProperty(this, null, "id",
ParseType.String, navElement, null);
- AbstractDocumentFactory.fillBeanProperty(this, null, "field",
ParseType.String, navElement, id);
- AbstractDocumentFactory.fillBeanProperty(this, null, "tab",
ParseType.String, navElement, navigation.getTab());
- AbstractDocumentFactory.fillBeanProperty(this, null, "out",
ParseType.Boolean, navElement, Boolean.toString(navigation.isOut()));
- AbstractDocumentFactory.fillBeanProperty(this, null,
"excludeQuery", ParseType.Boolean, navElement, "false");
- AbstractDocumentFactory.fillBeanProperty(this, null,
"realNavigator", ParseType.Boolean, navElement, "true");
+
+ AbstractDocumentFactory.fillBeanProperty(
+ this,
+ null,
+ "commandName",
+ ParseType.String,
+ navElement,
+ navigation.getCommandName());
+
+ AbstractDocumentFactory
+ .fillBeanProperty(this, null, "id", ParseType.String,
navElement, null);
+
+ AbstractDocumentFactory
+ .fillBeanProperty(this, null, "field", ParseType.String,
navElement, id);
+
+ AbstractDocumentFactory
+ .fillBeanProperty(this, null, "tab", ParseType.String,
navElement, navigation.getTab());
+
+ AbstractDocumentFactory.fillBeanProperty(
+ this,
+ null,
+ "out",
+ ParseType.Boolean,
+ navElement,
+ Boolean.toString(navigation.isOut()));
+
+ AbstractDocumentFactory
+ .fillBeanProperty(this, null, "excludeQuery",
ParseType.Boolean, navElement, "false");
+
+ AbstractDocumentFactory
+ .fillBeanProperty(this, null, "realNavigator",
ParseType.Boolean, navElement, "true");
+
final List<Element> childNavElements =
getDirectChildren(navElement, NAV_ELEMENT);
if (childNavElements.size() > 0) {
@@ -284,7 +323,7 @@
}
}
- private Nav(Navigation navigation, Element navElement) {
+ private Nav(final Navigation navigation, final Element navElement) {
this(null, navigation, navElement);
}
@@ -304,7 +343,7 @@
return realNavigator;
}
- public void setRealNavigator(boolean realNavigator) {
+ public void setRealNavigator(final boolean realNavigator) {
this.realNavigator = realNavigator;
}
@@ -312,7 +351,7 @@
return options;
}
- public void setOptions(List<Option> options) {
+ public void setOptions(final List<Option> options) {
this.options = options;
}
@@ -320,11 +359,11 @@
return staticParameters;
}
- public void setStaticParameters(Map<String, String> staticParameters) {
+ public void setStaticParameters(final Map<String, String>
staticParameters) {
this.staticParameters = staticParameters;
}
- public void setExcludeQuery(boolean excludeQuery) {
+ public void setExcludeQuery(final boolean excludeQuery) {
this.excludeQuery = excludeQuery;
}
@@ -336,7 +375,7 @@
return id;
}
- public void setId(String id) {
+ public void setId(final String id) {
this.id = id;
}
@@ -344,7 +383,7 @@
return tab;
}
- public void setTab(String tab) {
+ public void setTab(final String tab) {
this.tab = tab;
}
@@ -352,7 +391,7 @@
return out;
}
- public void setOut(boolean out) {
+ public void setOut(final boolean out) {
this.out = out;
}
@@ -360,7 +399,7 @@
return commandName;
}
- public void setCommandName(String commandName) {
+ public void setCommandName(final String commandName) {
this.commandName = commandName;
}
@@ -368,11 +407,11 @@
return field;
}
- public void setField(String field) {
+ public void setField(final String field) {
this.field = field;
}
-
+ @Override
public String toString() {
return "Nav{" +
"id='" + id + '\'' +
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits