You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2013/03/31 22:58:17 UTC
git commit: DELTASPIKE-288 unified lookup
Updated Branches:
refs/heads/master 73b2664c6 -> 91faa0052
DELTASPIKE-288 unified lookup
Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/91faa005
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/91faa005
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/91faa005
Branch: refs/heads/master
Commit: 91faa00528fbb51d4ba472f1c8f210330b78d987
Parents: 73b2664
Author: gpetracek <gp...@apache.org>
Authored: Sun Mar 31 22:53:14 2013 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Sun Mar 31 22:53:14 2013 +0200
----------------------------------------------------------------------
.../config/view/DefaultViewConfigResolver.java | 42 +++++++++------
1 files changed, 25 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/91faa005/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultViewConfigResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultViewConfigResolver.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultViewConfigResolver.java
index 255e123..32f5de1 100644
--- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultViewConfigResolver.java
+++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultViewConfigResolver.java
@@ -41,16 +41,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;
-import java.util.concurrent.ConcurrentHashMap;
@Typed()
public class DefaultViewConfigResolver implements ViewConfigResolver
{
- private Map<String, ViewConfigDescriptor> viewIdToViewDefinitionEntryMapping =
- new ConcurrentHashMap<String, ViewConfigDescriptor>();
private Map<Class<? extends ViewConfig>, ViewConfigDescriptor> viewDefinitionToViewDefinitionEntryMapping;
+ private Map<String, ViewConfigDescriptor> viewPathToViewDefinitionEntryMapping;
+
private Map<Class, ConfigDescriptor> folderDefinitionToViewDefinitionEntryMapping;
private Map<String, ConfigDescriptor> folderPathToViewDefinitionEntryMapping;
+
private ViewConfigDescriptor defaultErrorView;
public DefaultViewConfigResolver(ViewConfigNode rootViewConfigNode,
@@ -183,7 +183,7 @@ public class DefaultViewConfigResolver implements ViewConfigResolver
return null;
}
- return this.viewIdToViewDefinitionEntryMapping.get(viewId);
+ return this.viewPathToViewDefinitionEntryMapping.get(viewId);
}
@Override
@@ -206,10 +206,16 @@ public class DefaultViewConfigResolver implements ViewConfigResolver
@Override
public List<ConfigDescriptor<?>> getConfigDescriptors()
{
- ConfigDescriptor<?>[] result = this.folderDefinitionToViewDefinitionEntryMapping.values()
+ ConfigDescriptor<?>[] folderResult = this.folderDefinitionToViewDefinitionEntryMapping.values()
.toArray(new ConfigDescriptor<?>[this.folderDefinitionToViewDefinitionEntryMapping.size()]);
- return new ArrayList<ConfigDescriptor<?>>(Arrays.asList(result));
+ ConfigDescriptor<?>[] viewResult = this.viewDefinitionToViewDefinitionEntryMapping.values()
+ .toArray(new ConfigDescriptor<?>[this.viewDefinitionToViewDefinitionEntryMapping.size()]);
+
+ List<ConfigDescriptor<?>> result = new ArrayList<ConfigDescriptor<?>>();
+ result.addAll(Arrays.asList(folderResult));
+ result.addAll(Arrays.asList(viewResult));
+ return result;
}
@Override
@@ -241,30 +247,32 @@ public class DefaultViewConfigResolver implements ViewConfigResolver
{
//folders
Map<String, ConfigDescriptor> folderPathMapping = new HashMap<String, ConfigDescriptor>();
- for (ConfigDescriptor configDescriptor : this.folderDefinitionToViewDefinitionEntryMapping.values())
+ for (ConfigDescriptor folderConfigDescriptor : this.folderDefinitionToViewDefinitionEntryMapping.values())
{
- if (folderPathMapping.containsKey(configDescriptor.toString()))
+ if (folderPathMapping.containsKey(folderConfigDescriptor.toString()))
{
throw new IllegalStateException("Duplicated config for the same folder configured. See: " +
folderPathMapping.get(
- configDescriptor.toString()).getConfigClass().getName() +
- " and " + configDescriptor.getConfigClass().getName());
+ folderConfigDescriptor.toString()).getConfigClass().getName() +
+ " and " + folderConfigDescriptor.getConfigClass().getName());
}
- folderPathMapping.put(configDescriptor.toString(), configDescriptor);
+ folderPathMapping.put(folderConfigDescriptor.getPath(), folderConfigDescriptor);
}
this.folderPathToViewDefinitionEntryMapping = Collections.unmodifiableMap(folderPathMapping);
//pages
- for (ViewConfigDescriptor viewConfigDescriptor : this.viewDefinitionToViewDefinitionEntryMapping.values())
+ Map<String, ViewConfigDescriptor> viewPathMapping = new HashMap<String, ViewConfigDescriptor>();
+ for (ViewConfigDescriptor pageConfigDescriptor : this.viewDefinitionToViewDefinitionEntryMapping.values())
{
- if (viewIdToViewDefinitionEntryMapping.containsKey(viewConfigDescriptor.getViewId()))
+ if (viewPathMapping.containsKey(pageConfigDescriptor.getViewId()))
{
throw new IllegalStateException("Duplicated config for the same page configured. See: " +
- viewIdToViewDefinitionEntryMapping.get(
- viewConfigDescriptor.getViewId()).getConfigClass().getName() +
- " and " + viewConfigDescriptor.getConfigClass().getName());
+ viewPathMapping.get(
+ pageConfigDescriptor.getViewId()).getConfigClass().getName() +
+ " and " + pageConfigDescriptor.getConfigClass().getName());
}
- this.viewIdToViewDefinitionEntryMapping.put(viewConfigDescriptor.getViewId(), viewConfigDescriptor);
+ viewPathMapping.put(pageConfigDescriptor.getPath(), pageConfigDescriptor);
}
+ this.viewPathToViewDefinitionEntryMapping = Collections.unmodifiableMap(viewPathMapping);
}
}