|
@@ -124,7 +124,7 @@ public class ViewRegistry {
|
|
* Mapping of view names to sub-resources.
|
|
* Mapping of view names to sub-resources.
|
|
*/
|
|
*/
|
|
private final Map<String, Set<SubResourceDefinition>> subResourceDefinitionsMap =
|
|
private final Map<String, Set<SubResourceDefinition>> subResourceDefinitionsMap =
|
|
- new HashMap<String, Set<SubResourceDefinition>>();
|
|
|
|
|
|
+ new ConcurrentHashMap<String, Set<SubResourceDefinition>>();
|
|
|
|
|
|
/**
|
|
/**
|
|
* Mapping of view types to resource providers.
|
|
* Mapping of view types to resource providers.
|
|
@@ -403,27 +403,13 @@ public class ViewRegistry {
|
|
*
|
|
*
|
|
* @return the set of sub-resource definitions
|
|
* @return the set of sub-resource definitions
|
|
*/
|
|
*/
|
|
- public synchronized Set<SubResourceDefinition> getSubResourceDefinitions(
|
|
|
|
|
|
+ public Set<SubResourceDefinition> getSubResourceDefinitions(
|
|
String viewName, String version) {
|
|
String viewName, String version) {
|
|
|
|
|
|
viewName = ViewEntity.getViewName(viewName, version);
|
|
viewName = ViewEntity.getViewName(viewName, version);
|
|
|
|
|
|
- Set<SubResourceDefinition> subResourceDefinitions =
|
|
|
|
- subResourceDefinitionsMap.get(viewName);
|
|
|
|
-
|
|
|
|
- if (subResourceDefinitions == null) {
|
|
|
|
- subResourceDefinitions = new HashSet<SubResourceDefinition>();
|
|
|
|
- ViewEntity definition = getDefinition(viewName);
|
|
|
|
- if (definition != null) {
|
|
|
|
- for (Resource.Type type : definition.getViewResourceTypes()) {
|
|
|
|
- subResourceDefinitions.add(new SubResourceDefinition(type));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- subResourceDefinitionsMap.put(viewName, subResourceDefinitions);
|
|
|
|
- }
|
|
|
|
- return subResourceDefinitions;
|
|
|
|
|
|
+ return subResourceDefinitionsMap.get(viewName);
|
|
}
|
|
}
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Read all view archives.
|
|
* Read all view archives.
|
|
*/
|
|
*/
|
|
@@ -773,10 +759,13 @@ public class ViewRegistry {
|
|
List<ParameterConfig> parameterConfigurations = viewConfig.getParameters();
|
|
List<ParameterConfig> parameterConfigurations = viewConfig.getParameters();
|
|
|
|
|
|
Collection<ViewParameterEntity> parameters = new HashSet<ViewParameterEntity>();
|
|
Collection<ViewParameterEntity> parameters = new HashSet<ViewParameterEntity>();
|
|
|
|
+
|
|
|
|
+ String viewName = viewDefinition.getName();
|
|
|
|
+
|
|
for (ParameterConfig parameterConfiguration : parameterConfigurations) {
|
|
for (ParameterConfig parameterConfiguration : parameterConfigurations) {
|
|
ViewParameterEntity viewParameterEntity = new ViewParameterEntity();
|
|
ViewParameterEntity viewParameterEntity = new ViewParameterEntity();
|
|
|
|
|
|
- viewParameterEntity.setViewName(viewDefinition.getName());
|
|
|
|
|
|
+ viewParameterEntity.setViewName(viewName);
|
|
viewParameterEntity.setName(parameterConfiguration.getName());
|
|
viewParameterEntity.setName(parameterConfiguration.getName());
|
|
viewParameterEntity.setDescription(parameterConfiguration.getDescription());
|
|
viewParameterEntity.setDescription(parameterConfiguration.getDescription());
|
|
viewParameterEntity.setRequired(parameterConfiguration.isRequired());
|
|
viewParameterEntity.setRequired(parameterConfiguration.isRequired());
|
|
@@ -803,7 +792,7 @@ public class ViewRegistry {
|
|
for (ResourceConfig resourceConfiguration : resourceConfigurations) {
|
|
for (ResourceConfig resourceConfiguration : resourceConfigurations) {
|
|
ViewResourceEntity viewResourceEntity = new ViewResourceEntity();
|
|
ViewResourceEntity viewResourceEntity = new ViewResourceEntity();
|
|
|
|
|
|
- viewResourceEntity.setViewName(viewDefinition.getName());
|
|
|
|
|
|
+ viewResourceEntity.setViewName(viewName);
|
|
viewResourceEntity.setName(resourceConfiguration.getName());
|
|
viewResourceEntity.setName(resourceConfiguration.getName());
|
|
viewResourceEntity.setPluralName(resourceConfiguration.getPluralName());
|
|
viewResourceEntity.setPluralName(resourceConfiguration.getPluralName());
|
|
viewResourceEntity.setIdProperty(resourceConfiguration.getIdProperty());
|
|
viewResourceEntity.setIdProperty(resourceConfiguration.getIdProperty());
|
|
@@ -837,7 +826,7 @@ public class ViewRegistry {
|
|
}
|
|
}
|
|
|
|
|
|
ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
|
|
ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
|
|
- resourceTypeEntity.setName(viewDefinition.getName());
|
|
|
|
|
|
+ resourceTypeEntity.setName(viewName);
|
|
|
|
|
|
viewDefinition.setResourceType(resourceTypeEntity);
|
|
viewDefinition.setResourceType(resourceTypeEntity);
|
|
|
|
|
|
@@ -860,6 +849,12 @@ public class ViewRegistry {
|
|
viewDefinition.setView(view);
|
|
viewDefinition.setView(view);
|
|
viewDefinition.setMask(viewConfig.getMasker());
|
|
viewDefinition.setMask(viewConfig.getMasker());
|
|
|
|
|
|
|
|
+ Set<SubResourceDefinition> subResourceDefinitions = new HashSet<SubResourceDefinition>();
|
|
|
|
+ for (Resource.Type type : viewDefinition.getViewResourceTypes()) {
|
|
|
|
+ subResourceDefinitions.add(new SubResourceDefinition(type));
|
|
|
|
+ }
|
|
|
|
+ subResourceDefinitionsMap.put(viewName, subResourceDefinitions);
|
|
|
|
+
|
|
return viewDefinition;
|
|
return viewDefinition;
|
|
}
|
|
}
|
|
|
|
|