Changeset 3663 in main


Ignore:
Timestamp:
03/27/12 09:00:40 (10 years ago)
Author:
Garth Braithwaite
Message:

java and view webapp - commit that has most of model map. committing before ripping out some code and cleaning up more model maps.

Location:
branches/2.1/src/main
Files:
1 added
1 deleted
41 edited

Legend:

Unmodified
Added
Removed
  • branches/2.1/src/main/java/org/ibisph/indicatorprofile/modelmap/XMLChartGraphic.java

    r3654 r3663  
    2929  protected String xmlPath = null;
    3030
    31   protected String chartDataModelMapModelKey   = "ChartData";
    32   protected String chartHeightModelMapModelKey = "ChartHeight";
     31  protected String chartDataModelMapKey   = "ChartData";
     32  protected String chartHeightModelMapKey = "ChartHeight";
    3333
    3434
     
    6666  /**
    6767   * Sets the ChartData ModelMap key/name.
    68    * @param chartDataModelMapModelKey value used for the chart data model map key.
     68   * @param chartDataModelMapKey value used for the chart data model map key.
    6969   */
    70   public void setChartDataModelMapModelKey(String chartDataModelMapModelKey) {this.chartDataModelMapModelKey = chartDataModelMapModelKey;}
     70  public void setChartDataModelMapKey(String chartDataModelMapKey) {this.chartDataModelMapKey = chartDataModelMapKey;}
    7171 
    7272  /**
    7373   * Sets the chart height ModelMap key/name.
    74    * @param chartHeightModelMapModelKey value used for the chart height model map key.
     74   * @param chartHeightModelMapKey value used for the chart height model map key.
    7575   */
    76   public void setChartHeightModelMapModelKey(String chartHeightModelMapModelKey) {this.chartHeightModelMapModelKey = chartHeightModelMapModelKey;}
     76  public void setChartHeightModelMapKey(String chartHeightModelMapKey) {this.chartHeightModelMapKey = chartHeightModelMapKey;}
    7777
    7878
     
    113113    // now build the model info
    114114    Map<String, Object> modelMap = new java.util.HashMap<String, Object>();
    115     modelMap.put(this.chartDataModelMapModelKey,   chartData);
    116     modelMap.put(this.chartHeightModelMapModelKey, chartHeight);
     115    modelMap.put(this.chartDataModelMapKey,   chartData);
     116    modelMap.put(this.chartHeightModelMapKey, chartHeight);
    117117
    118118    return(modelMap);
  • branches/2.1/src/main/java/org/ibisph/modelmap/AbstractModelMap.java

    r3652 r3663  
    1717public abstract class AbstractModelMap {
    1818
    19   protected String modelMapModelKey = "ModelMap";
     19  protected String modelMapKey = null;
    2020
    2121  /**
    2222   * Sets the model map's name.
    23    * @param modelMapModelKey map model map name (map key). 
     23   * @param modelMapKey map model map name (map key). 
    2424   */
    25   public void setModelMapModelKey(String modelMapModelKey) {
    26     this.modelMapModelKey = modelMapModelKey;
     25  public void setModelMapKey(String modelMapKey) {
     26    this.modelMapKey = modelMapKey;
    2727  } //-------------------------- End of Method ------------------------------
    2828
     
    3737  public Map<String, Object> getModelMap() throws Exception {
    3838    Map<String, Object> modelMap = new HashMap<String, Object>();
    39     modelMap.put(this.modelMapModelKey, getModel());
     39    modelMap.put(this.modelMapKey, getModel());
    4040    return(modelMap);
    4141  } //-------------------------- End of Method ------------------------------
     
    5252  public Map<String, Object> getModelMap(HttpServletRequest httpServletRequest) throws Exception {
    5353    Map<String, Object> modelMap = new HashMap<String, Object>();
    54     modelMap.put(this.modelMapModelKey, getModel(httpServletRequest));
     54    modelMap.put(this.modelMapKey, getModel(httpServletRequest));
    5555    return(modelMap);
    5656  } //-------------------------- End of Method ------------------------------
     
    6666  public Map<String, Object> getModelMap(Map<String, Object> modelMap) throws Exception {
    6767    if(null == modelMap) modelMap = new HashMap<String, Object>();
    68     modelMap.put(this.modelMapModelKey, getModel(modelMap));
     68    modelMap.put(this.modelMapKey, getModel(modelMap));
    6969    return(modelMap);
    7070  } //-------------------------- End of Method ------------------------------
     
    8383  public Map<String, Object> getModelMap(Map<String, Object> modelMap, HttpServletRequest httpServletRequest) throws Exception {
    8484    if(null == modelMap) modelMap = new HashMap<String, Object>();
    85     modelMap.put(this.modelMapModelKey, getModel(modelMap, httpServletRequest));
     85    modelMap.put(this.modelMapKey, getModel(modelMap, httpServletRequest));
    8686    return(modelMap);
    8787  } //-------------------------- End of Method ------------------------------
  • branches/2.1/src/main/java/org/ibisph/modelmap/AddModelDateModelToModelMap.java

    r3653 r3663  
    88import org.ibisph.systemid.FileSystemID;
    99import org.ibisph.systemid.SystemID;
     10import org.ibisph.util.StrLib;
    1011import org.ibisph.util.XMLLib;
     12import org.jfree.util.Log;
    1113
    1214/**
     
    8385   * @return Formatted date string.
    8486   */
    85   protected String getFormattedDate(long lastModifiedDate) throws Exception {
     87  protected String getFormattedDate(long lastModifiedDate) {
    8688    Date date = new Date(lastModifiedDate);
    8789    String dateString = this.dateFormat.format(date);
     
    99101  public void processModelMap(Map<String, Object> modelMap) throws Exception {
    100102    Object sourceModel = modelMap.get(this.sourceModelModelMapKey);
     103System.out.println("\n\n key: "+sourceModelModelMapKey);
     104System.out.println("date source: "+sourceModel);
    101105
    102106    long date = 0;
    103107    if(sourceModel instanceof Document) {
    104       Document queryModule = (Document)modelMap.get(this.sourceModelModelMapKey);
    105       date = Long.parseLong(XMLLib.getText(queryModule, this.sourceModelDateXPath));
     108      Document document = (Document)sourceModel;
     109      String s = XMLLib.getText(document, this.sourceModelDateXPath);
     110System.out.println("\n\n\nDOCUMENT MOD DATE: "+s);
     111      if(StrLib.isSomething(s)) date = Long.parseLong(s);
    106112    }
    107113    else if(sourceModel instanceof SystemID) {
  • branches/2.1/src/main/java/org/ibisph/modelmap/DefaultModelIfNullModel.java

    r3653 r3663  
    4646  public Map<String, Object> getModelMap(Map<String, Object> modelMap) throws Exception {
    4747    if(null == modelMap) modelMap = new HashMap<String, Object>();
    48     Object model = modelMap.get(this.modelMapModelKey);
     48    Object model = modelMap.get(this.modelMapKey);
    4949    if(null == model) {
    50       modelMap.put(this.modelMapModelKey, this.defaultModelIfNullModel);
     50      modelMap.put(this.modelMapKey, this.defaultModelIfNullModel);
    5151    }
    5252    return(modelMap);
  • branches/2.1/src/main/java/org/ibisph/querydefinition/modelmap/QueryDefinitionFromHTTPRequest.java

    r3652 r3663  
    66
    77import org.ibisph.modelmap.GetModelMapFromHTTPRequest;
     8import org.ibisph.util.IOPath;
    89import org.ibisph.util.StrLib;
    910
    1011/**
    1112 * This service is responsible to get the requested query definition element
    12  * based on the HTTP Request query definition parameter name value.
     13 * based on the HTTP Request query definition parameter name value or as the
     14 * last segment of the requested resource (URI).
    1315 *
    1416 * @author Garth Braithwaite, STG
     
    4547    String queryDefinitionsName = this.getUserDetails(request).getUsername();
    4648    String queryDefinitionName  = request.getParameter(this.queryDefinitionNameHTTPRequestParameterName);
    47     if(!StrLib.isSomething(queryDefinitionName)) queryDefinitionName = "Test";
     49    if(!StrLib.isSomething(queryDefinitionName)) {
     50      queryDefinitionName = IOPath.getFilenameWithoutExtension(request.getPathInfo());
     51    }
    4852    Element queryDefinition = this.queryDefinitionsService.getQueryDefinition(queryDefinitionsName, queryDefinitionName);
    4953    return(queryDefinition);
  • branches/2.1/src/main/java/org/ibisph/querydefinition/modelmap/QueryDefinitionToQueryDefinitions.java

    r3652 r3663  
    2929   */
    3030  protected Object getModel(Map<String, Object> modelMap, HttpServletRequest request) throws Exception {
    31     Element queryDefinition = (Element)modelMap.get(this.modelMapModelKey);
     31    Element queryDefinition = (Element)modelMap.get(this.modelMapKey);
    3232
    3333    // getting the configuration name is somewhat redundant as the query module
  • branches/2.1/src/main/java/org/ibisph/querydefinition/modelmap/QueryDefinitionsFromHTTPRequest.java

    r3652 r3663  
    1010
    1111/**
    12  * Loads the definitions based on the "_system_" user.
     12 * Loads the user's query definitions.
    1313 *
    1414 * @author Garth Braithwaite, STG
     
    1818  implements GetModelMapFromHTTPRequest
    1919{
    20  
     20
    2121  //------------------------ M A I N   R E Q U E S T   M O D E L   M E T H O D
    2222  /**
    23    *
     23   * Gets the user's associated query definitions via the injected service
     24   * and based on the Spring Security UserDetails object.
    2425   * @param request HttpServletRequest that the configuration path is retrieved from.
    2526   * @return the fully loaded query module xml document object.
  • branches/2.1/src/main/java/org/ibisph/querydefinition/service/QueryDefinitionXML.java

    r3654 r3663  
    1313/**
    1414 * Provides basic Query Definition related helpers.  This includes XML file DAO
    15  * to load and save,
     15 * to load and save.
    1616 *
    1717 * @author Garth Braithwaite, STG
  • branches/2.1/src/main/java/org/ibisph/querymodule/modelmap/QueryModuleFromHTTPRequestAndQueryDefinition.java

    r3654 r3663  
    88import org.dom4j.Element;
    99
     10import org.ibisph.modelmap.AbstractModelMap;
    1011import org.ibisph.modelmap.GetModelMapFromModelMapAndHTTPRequest;
    1112import org.ibisph.querydefinition.service.QueryDefinitionXMLToQueryModuleXML;
     
    1314import org.ibisph.util.XMLLib;
    1415
    15 
    1616/**
    17  * query module from session WITH QD being passed in. 
     17 * Query module from session WITH QD being passed in. 
    1818 *
    1919 * @author Garth Braithwaite, STG
    2020 */
    21 public class QueryModuleFromHTTPRequestAndQueryDefinition implements GetModelMapFromModelMapAndHTTPRequest {
     21public class QueryModuleFromHTTPRequestAndQueryDefinition extends AbstractModelMap implements GetModelMapFromModelMapAndHTTPRequest {
    2222  protected static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(QueryModuleFromHTTPRequestAndQueryDefinition.class);
    2323
    24   protected String queryModuleSessionName      = "QueryModule";
    25   protected String queryDefinitionModelMapModelKey = "QueryDefinition";
     24  protected String queryModuleSessionName     = "QueryModule";
     25  protected String queryDefinitionModelMapKey = "QueryDefinition";
    2626
    2727  protected QueryDefinitionXMLToQueryModuleXML queryDefinitionToQueryModuleService = null;
     
    4242
    4343  /**
     44   * model map key setter.
     45   * @param queryDefinitionModelMapKey
     46   */
     47  public void setQueryDefinitionModelMapKey(String queryDefinitionModelMapKey) {this.queryDefinitionModelMapKey = queryDefinitionModelMapKey;}
     48 
     49 
     50  /**
    4451   * Sets the query definition to query module loader service.
    4552   * @param queryDefinitionToQueryModuleService
     
    5764
    5865  //------------------------ M A I N   R E Q U E S T   M O D E L   M E T H O D
     66
    5967  /**
     68   * Merges the query definition that is within the model map into the query
     69   * module and returns the qm as the model.
     70   *
    6071   * @param request HttpServletRequest that the configuration path is retrieved from.
    6172   * @return the fully loaded query module xml document object.
    6273   */
    63   public Map<String, Object> getModelMap(Map<String, Object> modelMap, HttpServletRequest request) throws Exception {
    64     Element queryDefinition  = (Element)modelMap.get(this.queryDefinitionModelMapModelKey);
     74  public Object getModel(Map<String, Object> modelMap, HttpServletRequest request) throws Exception {
     75    Element queryDefinition  = (Element)modelMap.get(this.queryDefinitionModelMapKey);
    6576
    6677    Document queryModule = (Document)request.getSession().getAttribute(this.queryModuleSessionName);
    67     if(queryModule == null) {
     78    if(null == queryModule) {
    6879      String configurationPath = XMLLib.getText(queryDefinition, "CONFIGURATION_PATH");
    6980      queryModule = this.queryModuleService.getQueryModule(configurationPath);
     
    7687    );
    7788
    78     return(modelMap);
     89    return(queryModule);
    7990  } //-------------------------- End of Method ------------------------------
    8091
  • branches/2.1/src/main/java/org/ibisph/querymodule/springmvc/ChartDataModelMapFromHTTPRequestQueryModule.java

    r3654 r3663  
    107107    // load the chart data via the service
    108108    ChartData chartData = (ChartData)this.chartDataService.getChartData(queryModule);
    109 //    modelMap.put(this.chartDataModelMapModelKey, chartData);
     109//    modelMap.put(this.chartDataModelMapKey, chartData);
    110110
    111111    // get the chart height and put in model.
  • branches/2.1/src/main/java/org/ibisph/web/modelmap/DeleteSessionAttributeFromHTTPRequest.java

    r3652 r3663  
    1010 * Clears the specified HTTP Request Session Attribute object from the user's
    1111 * session.  This is used to mainly clear a query module so that it will be
    12  * reloaded. 
     12 * reloaded.  This model map could/should really be a service.  It is left as 
     13 * a model so that it can be injected into the model list processing.
    1314 *
    1415 * @author Garth Braithwaite, STG
  • branches/2.1/src/main/java/org/ibisph/web/modelmap/WebAppURLContextPrefixFromHTTPRequest.java

    r3652 r3663  
    1818public class WebAppURLContextPrefixFromHTTPRequest implements GetModelMapFromHTTPRequest {
    1919
    20   protected String modelMapModelKey = "ModelMap";
     20  protected String modelMapKey = "ModelMap";
    2121
    2222  protected Map<String, Object> modelMap = null;
     
    2525  /**
    2626   * Sets the model map's name.
    27    * @param modelMapModelKey map model map name (map key). 
     27   * @param modelMapKey map model map name (map key). 
    2828   */
    29   public void setModelMapModelKey(String modelMapModelKey) {
    30     this.modelMapModelKey = modelMapModelKey;
     29  public void setModelMapKey(String modelMapKey) {
     30    this.modelMapKey = modelMapKey;
    3131  } //-------------------------- End of Method ------------------------------
    3232
     
    3838    if(this.modelMap == null) {
    3939      this.modelMap = new HashMap<String, Object>();
    40       this.modelMap.put(this.modelMapModelKey, request.getContextPath()+"/");
     40      this.modelMap.put(this.modelMapKey, request.getContextPath()+"/");
    4141    }
    4242    return(this.modelMap);
  • branches/2.1/src/main/java/org/ibisph/web/springmvc/ModelMapListProcessingController.java

    r3653 r3663  
    22
    33import java.util.HashMap;
     4import java.util.LinkedList;
    45import java.util.List;
    56import java.util.Map;
     
    78import javax.servlet.http.HttpServletRequest;
    89
    9 import org.ibisph.web.springmvc.ModelMapAndViewController;
    10 
    1110import org.ibisph.modelmap.GetModelMap;
     11import org.ibisph.modelmap.GetModelMapFromHTTPRequest;
    1212import org.ibisph.modelmap.GetModelMapFromModelMap;
    13 import org.ibisph.modelmap.GetModelMapFromHTTPRequest;
    14 import org.ibisph.modelmap.GetModelMapFromModelMapAndHTTPRequest;
     13import org.ibisph.modelmap.GetModelMapFromModelMapAndHTTPRequest;
    1514import org.ibisph.modelmap.ProcessModelMap;
    1615import org.ibisph.modelmap.ProcessModelMapFromHTTPRequest;
     
    5857
    5958  /**
    60    * Adds the list of XML Models.  If xmlModelServiceList does NOT
    61    * already exists then the supplied list becomes the main list.
     59   * Adds the list of XML Models.  If this.modelMapList does NOT
     60   * already exists then a new list is created.  This is done
     61   * to handled sharing common lists.  If not addAll to the main
     62   * modelMapList then this injected model map can get dirty.
    6263   *
    63    * @param modelMapList list of XML Models to be called.
     64   * @param additionalModelMapList list of XML Models to be added
     65   *   to the main model map list.
    6466   */
    65   public void setAdditionalModelMapList(List<Object> modelMapList) {
    66     if(this.modelMapList != null)
    67       this.modelMapList.addAll(modelMapList);
    68     else
    69       this.modelMapList = modelMapList;
     67  public void setAdditionalModelMapList(List<Object> additionalModelMapList) {
     68    if(null == this.modelMapList) this.modelMapList = new LinkedList<Object>();
     69    this.modelMapList.addAll(additionalModelMapList);
    7070  } //-------------------------- End of Method ------------------------------
    7171
     
    8585   */
    8686  protected Map<String, Object> getModelMap(HttpServletRequest request) throws Exception {
    87     Map<String, Object> modelMap = null;
     87    Map<String, Object> modelMap = new HashMap<String, Object>();
    8888
    8989    // loop through all the Model services to create/refine the model. 
     
    101101
    102102      else {
    103         if(null == modelMap) modelMap = new HashMap<String, Object>();
    104 
    105103        if(modelMapService instanceof ProcessModelMap)
    106104          ((ProcessModelMap)modelMapService).processModelMap(modelMap);
     
    110108
    111109      // if new model map add it to the existing model map.
    112       if(null != newModelMap) {
    113         if(null == modelMap)
    114           modelMap = newModelMap;
    115         else
    116           modelMap.putAll(newModelMap);
    117       }
     110      if(null != newModelMap) modelMap.putAll(newModelMap);
    118111    }
    119112
  • branches/2.1/src/main/java/org/ibisph/xml/modelmap/SubDocumentFromDocument.java

    r3652 r3663  
    1818
    1919  protected String startingNodeXPath = "/";
    20   protected String sourceXMLDocumentModelMapModelKey = "ModelMap";
     20  protected String sourceXMLDocumentModelMapKey = "ModelMap";
    2121
    2222
     
    3535  /**
    3636   * Sets the source model map's name.
    37    * @param sourceXMLDocumentModelMapModelKey map model map name (map key). 
     37   * @param sourceXMLDocumentModelMapKey map model map name (map key). 
    3838   */
    39   public void setSourceXMLDocumentModelMapModelKey(String sourceXMLDocumentModelMapModelKey) {
    40     this.sourceXMLDocumentModelMapModelKey = sourceXMLDocumentModelMapModelKey;
     39  public void setSourceXMLDocumentModelMapKey(String sourceXMLDocumentModelMapKey) {
     40    this.sourceXMLDocumentModelMapKey = sourceXMLDocumentModelMapKey;
    4141  } //-------------------------- End of Method ------------------------------
    4242
     
    4747   */
    4848  public Document getModel(Map<String, Object> modelMap) throws Exception {
    49     Document xmlDocument = (Document)modelMap.get(this.sourceXMLDocumentModelMapModelKey);
     49    Document xmlDocument = (Document)modelMap.get(this.sourceXMLDocumentModelMapKey);
    5050    Element element = (Element)XMLLib.getNode(xmlDocument, this.startingNodeXPath);
    5151    Document xmlSubDocument = XMLLib.newDocument(element);
  • branches/2.1/src/main/java/org/ibisph/xml/springmvc/XSLTXMLTransformationView.java

    r3653 r3663  
    219219      key   = entry.getKey();
    220220      value = entry.getValue();
     221if(null == key) throw new Exception("NULL KEY");
    221222      if(  !(StrLib.isSomething(this.xmlModelMapKey)  && key.equals(this.xmlModelMapKey))
    222223        && !(StrLib.isSomething(this.xsltModelMapKey) && key.equals(this.xsltModelMapKey))
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/common.xml

    r3653 r3663  
    137137
    138138
    139         <!--  M O D E L   M A P -->
     139        <!--  M O D E L   M A P S -->
    140140        <bean id="Common.XMLModelMapKey" class="java.lang.String">
    141141                <constructor-arg value="XML"/>
     
    145145        </bean>
    146146        <bean id="Common.XMLModelMap.CommonProperties" abstract="true">
    147                 <property name="modelMapModelKey" ref="Common.XMLModelMapKey"/>
     147                <property name="modelMapKey" ref="Common.XMLModelMapKey"/>
    148148        </bean>
    149149
    150150        <bean id="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap" class="org.ibisph.web.modelmap.WebAppURLContextPrefixFromHTTPRequest">
    151                 <property name="modelMapModelKey" value="WebAppURLContextPrefix"/>
     151                <property name="modelMapKey" value="WebAppURLContextPrefix"/>
    152152        </bean>
    153153        <bean id="Common.HTTPRequestParameters.ModelMap" class="org.ibisph.web.modelmap.HTTPRequestParameters">
     
    158158                        not needed for the query module builder post etc.
    159159                </description>
    160                 <property name="modelMapModelKey" value="HTTPRequestParameters"/>
    161         </bean>
    162         <bean id="Common.ModifiedDateFromFileSystemID.ParameterMap" class="org.ibisph.modelmap.AddModelDateModelToModelMap">
     160                <property name="modelMapKey" value="HTTPRequestParameters"/>
     161        </bean>
     162        <bean id="Common.ModifiedDateFromFileSystemID.ModelMap" class="org.ibisph.modelmap.AddModelDateModelToModelMap">
    163163                <property name="sourceModelModelMapKey"   ref="Common.XMLModelMapKey"/>
    164164                <property name="formattedDateModelMapKey" ref="Common.ModifiedDateModelMapKey"/>
    165165                <property name="dateFormat"               ref="Common.DateFormat"/>
    166         </bean>
    167 
    168 
    169         <!--  C O N T R O L L E R S  -->
    170         <bean id="Common.FileSystemID.Controller.CommonProperties" class="org.ibisph.web.springmvc.ModelMapListProcessingController" abstract="true">
    171                 <property name="modelMapList">
    172                         <list>
    173                                 <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    174                                 <ref bean="Common.ModifiedDateFromFileSystemID.ParameterMap"/>
    175                                 <ref bean="Common.HTTPRequestParameters.ModelMap"/>
    176                         </list>
    177                 </property>
    178166        </bean>
    179167
     
    306294                <constructor-arg value="BlockedURLMessage_HTMLContent.xml"/>
    307295        </bean>
    308         <bean id="Common.BannedXMLAccess.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    309                 <property name="additionalModelMapList">
     296        <bean id="Common.BannedXMLAccess.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     297                <property name="modelMapList">
    310298                        <list>
    311299                                <bean class="org.ibisph.modelmap.SimpleModelMap" parent="Common.XMLModelMap.CommonProperties">
    312300                                        <property name="model" ref="Common.RestrictedXMLAccess.XML.SystemID"/>
    313301                                </bean>
     302                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     303                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    314304                        </list>
    315305                </property>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/community.xml

    r3653 r3663  
    4242
    4343
    44         <bean id="Community.HTMLContent.ModelMap" class="org.ibisph.systemid.modelmap.SystemIDFromHTTPRequestEndOfPathInfo">
     44        <bean id="Community.HTMLContent.ModelMap" class="org.ibisph.systemid.modelmap.SystemIDFromHTTPRequestEndOfPathInfo" parent="Common.XMLModelMap.CommonProperties">
    4545                <property name="XMLPath" ref="Community.HTMLContent.XML.Path"/>
    4646        </bean>
    47         <bean id="Community.DefaultHTMLContent.ModelMap" class="org.ibisph.modelmap.DefaultModelIfNullModel">
     47        <bean id="Community.DefaultHTMLContent.ModelMap" class="org.ibisph.modelmap.DefaultModelIfNullModel" parent="Common.XMLModelMap.CommonProperties">
    4848                <property name="defaultModelIfNullModel" ref="Community.Introduction.XML.SystemID"/>
    4949        </bean>
    5050
    51         <bean id="Community.Dimensions.ModelMap" class="org.ibisph.modelmap.SimpleModelMap">
     51        <bean id="Community.Dimensions.ModelMap" class="org.ibisph.modelmap.SimpleModelMap" parent="Common.XMLModelMap.CommonProperties">
    5252                <property name="model" ref="Community.Dimensions.XML.SystemID"/>
    5353        </bean>
     
    5656
    5757        <!--  C O N T R O L L E R S  -->
    58         <bean id="Community.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    59                 <property name="additionalModelMapList">
     58        <bean id="Community.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     59                <property name="modelMapList">
    6060                        <list>
    6161                                <ref bean="Community.HTMLContent.ModelMap"/>
     
    6666        </bean>
    6767
    68         <bean id="Community.Snapshot.Builder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    69                 <property name="additionalModelMapList">
     68        <bean id="Community.Snapshot.Builder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     69                <property name="modelMapList">
    7070                        <list>
    7171                                <ref bean="Community.Dimensions.ModelMap"/>
     72                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     73                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     74                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    7275                        </list>
    7376                </property>
     
    7578        </bean>
    7679
    77         <bean id="Community.Highlight.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    78                 <property name="additionalModelMapList">
     80        <bean id="Community.Highlight.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     81                <property name="modelMapList">
    7982                        <list>
    8083                                <ref bean="Community.Dimensions.ModelMap"/>
     84                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     85                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     86                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    8187                        </list>
    8288                </property>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/dispatcher_servlet.xml

    r3652 r3663  
    104104<entry key="/query/definition/List.html"  value-ref="QueryDefinition.DefinitionList.Controller"/>
    105105
    106 <entry key="/query/definition/result/**"  value-ref="QueryDefinition.DefinitionResult.Controller"/>
    107 <entry key="/query/definition/builder/**" value-ref="QueryDefinition.DefinitionBuilder.Controller"/>
    108 <entry key="/query/criteria/builder/**"   value-ref="QueryDefinition.CriteriaBuilder.Controller"/>
    109 
    110 <entry key="/query/definition/edit/**"    value-ref="QueryDefinition.EditDetail.Controller"/>
    111 <entry key="/query/definition/save/**"    value-ref="QueryDefinition.SaveDetail.Controller"/>
    112 <entry key="/query/definition/delete"     value-ref="QueryDefinition.DeleteDefinition.Controller"/>
     106                                <entry key="/run/query/definition/**"    value-ref="QueryDefinition.RunDefinition.Controller"/>
     107                                <entry key="/edit/query/definition/**"   value-ref="QueryDefinition.EditDefinition.Controller"/>
     108<entry key="/apply/query/definition/**"  value-ref="QueryDefinition.ApplyDefinition.Controller"/>
     109<entry key="/delete/query/definition/**" value-ref="QueryDefinition.DeleteDefinition.Controller"/>
     110<entry key="/save/query/definition"      value-ref="QueryDefinition.SaveDetail.Controller"/>
     111
     112<entry key="/save/query/result"          value-ref="QueryDefinition.EditDetail.Controller"/>
     113
    113114
    114115<!-- run directly with name being specified as a get...
     
    126127                                <entry key="/secure/query/result/**/*.xml"  value-ref="Query.IBISQResult.Controller"/> 
    127128                                <entry key="/secure/query/configuration/**" value-ref="Query.Configuration.Controller"/>
    128 
    129                                 <entry key="/secure/MyQueries.html"         value-ref="User.QuerySelectionList.Controller"/>
     129                                <entry key="/secure/query/selections"       value-ref="User.QuerySelectionList.Controller"/>
     130
    130131                                <entry key="/secure"                        value-ref="Secure.Selection.Controller"/>
    131132
     
    164165
    165166                                <!-- U S E R   P R O F I L E -->
    166                                 <entry key="/user/Login.html"           value-ref="User.HTMLContent.Controller"/>
    167                                 <entry key="/user/password/send"        value-ref="User.EmailPassword.Controller"/>
    168                                 <entry key="/user/NewRegistration.html" value-ref="User.HTMLContent.Controller"/>
    169                                 <entry key="/user/registration/save"    value-ref="User.SaveRegistration.Controller"/>
    170                                 <entry key="/user/registration/verify"  value-ref="User.VerifyRegistration.Controller"/>
    171                                 <entry key="/user/EditProfile.html"     value-ref="User.EditProfile.Controller"/>
    172                                 <entry key="/user/profile/save"         value-ref="User.SaveProfile.Controller"/>
    173                                
    174                                 <entry key="/user/MyQueries.html"       value-ref="User.QuerySelectionList.Controller"/>
    175 
    176                                 <!-- external URL blocker mapping -->
    177                                 <entry key="/xml/users/**/*.xml" value-ref="Common.BannedXMLAccess.Controller"/>
     167                                <entry key="/user/Login.html"          value-ref="User.HTMLContent.Controller"/>
     168<entry key="/user/AccountAccess.html"  value-ref="User.HTMLContent.Controller"/>
     169<entry key="/send/user/password"       value-ref="User.EmailPassword.Controller"/>
     170<entry key="/send/user/verification"   value-ref="User.EmailPassword.Controller"/>
     171<entry key="/user/Registration.html"   value-ref="User.HTMLContent.Controller"/>
     172<entry key="/save/user/registration"   value-ref="User.SaveRegistration.Controller"/>
     173<entry key="/verify/user/registration" value-ref="User.VerifyRegistration.Controller"/>
     174<entry key="/edit/user/profile"        value-ref="User.EditProfile.Controller"/>
     175<entry key="/save/user/profile"        value-ref="User.SaveProfile.Controller"/>
     176
     177<entry key="/user/selection/List.html" value-ref="User.QuerySelectionList.Controller"/>
     178
     179
     180                                <!-- B L O C K E D   R E S O U R C E S -->
     181                                <!-- External URL blocker mapping
     182                                        Blocked direct file access URLs.  Files that need to be
     183                                        blocked from public access can have a general mapping that
     184                                        goes to a simple controller that returns a missing resource
     185                                        page.  This could also be mapped to a general controller
     186                                        that simply returns a 404 or 403 error.  There are other
     187                                        ways to impelment like putting the files within a WEB-INF/*
     188                                        subdirectory.  Can also be done via a filter (like the
     189                                        CheckAllowedRequesterIPAddressFilter) etc.
     190                                -->
     191                                <entry key="/xml/users/**" value-ref="Common.BannedXMLAccess.Controller"/>
    178192
    179193
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/home.xml

    r3653 r3663  
    3333
    3434        <!--  C O N T R O L L E R S  -->
    35         <bean id="Home.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    36                 <property name="additionalModelMapList">
     35        <bean id="Home.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     36                <property name="modelMapList">
    3737                        <list>
    3838                                <ref bean="Home.HTMLContent.ModelMap"/>
    3939                                <ref bean="Home.DefaultHTMLContent.ModelMap"/>
     40                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     41                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     42                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    4043                        </list>
    4144                </property>
     
    4346        </bean>
    4447
    45 
     48       
    4649        <!--  V I E W   R E S O U R C E S  -->
    4750        <bean id="Home.HTMLContent.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/indicator.xml

    r3653 r3663  
    6363
    6464        <bean id="Indicator.SelectedRelationName.ModelMap" class="org.ibisph.indicatorprofile.modelmap.RelationNameFromHTTPRequest">
    65                 <property name="modelMapModelKey" value="RelationName"/>
     65                <property name="modelMapKey" value="RelationName"/>
    6666        </bean>
    6767
    6868
    6969        <!--  C O N T R O L L E R S  -->
    70         <bean id="Indicator.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    71                 <property name="additionalModelMapList">
     70        <bean id="Indicator.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     71                <property name="modelMapList">
    7272                        <list>
    7373                                <ref bean="Indicator.HTMLContent.ModelMap"/>
    7474                                <ref bean="Indicator.DefaultHTMLContent.ModelMap"/>
     75                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     76                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     77                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    7578                        </list>
    7679                </property>
     
    7881        </bean>
    7982
    80         <bean id="Indicator.AlphabeticalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    81                 <property name="additionalModelMapList">
     83        <bean id="Indicator.AlphabeticalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     84                <property name="modelMapList">
    8285                        <list>
    8386                                <ref bean="Indicator.PublishedIndicatorProfiles.ModelMap"/>
     87                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     88                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     89                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    8490                        </list>
    8591                </property>
    8692                <property name="view" ref="Indicator.AlphabeticalIndex.View"/>
    8793        </bean>
    88         <bean id="Indicator.CategorizedIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    89                 <property name="additionalModelMapList">
     94        <bean id="Indicator.CategorizedIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     95                <property name="modelMapList">
    9096                        <list>
    9197                                <ref bean="Indicator.CategorziedIndex.ModelMap"/>
     98                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     99                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     100                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    92101                        </list>
    93102                </property>
     
    97106
    98107        <bean id="Indicator.Profile.Controller.CommonProperties" class="org.ibisph.web.springmvc.ModelMapListProcessingController"
    99                 parent="Common.FileSystemID.Controller.CommonProperties" abstract="true"
     108                abstract="true"
    100109        >
    101                 <property name="additionalModelMapList">
     110                <property name="modelMapList">
    102111                        <list>
    103112                                <ref bean="Indicator.Profile.ModelMap"/>
     
    113122
    114123        <bean id="Indicator.RelatedIndicators.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Indicator.Profile.Controller.CommonProperties">
    115                 <property name="additionalModelMapList">
     124                <property name="modelMapList">
    116125                        <list>
    117126                                <ref bean="Indicator.SelectedRelationName.ModelMap"/>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/phom.xml

    r3653 r3663  
    3636
    3737        <!--  C O N T R O L L E R S  -->
    38         <bean id="PHOM.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    39                 <property name="additionalModelMapList">
     38        <bean id="PHOM.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     39                <property name="modelMapList">
    4040                        <list>
    4141                                <ref bean="PHOM.HTMLContent.ModelMap"/>
    4242                                <ref bean="PHOM.DefaultHTMLContent.ModelMap"/>
     43                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     44                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     45                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    4346                        </list>
    4447                </property>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/publications.xml

    r3653 r3663  
    4343
    4444        <!--  C O N T R O L L E R S  -->
    45         <bean id="Publications.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    46                 <property name="additionalModelMapList">
     45        <bean id="Publications.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     46                <property name="modelMapList">
    4747                        <list>
    4848                                <ref bean="Publications.HTMLContent.ModelMap"/>
    4949                                <ref bean="Publications.DefaultHTMLContent.ModelMap"/>
     50                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     51                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     52                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    5053                        </list>
    5154                </property>
    5255                <property name="view" ref="Publications.HTMLContent.View"/>
    5356        </bean>
    54         <bean id="Publications.ChronologicalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    55                 <property name="additionalModelMapList">
     57        <bean id="Publications.ChronologicalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     58                <property name="modelMapList">
    5659                        <list>
    5760                                <ref bean="Publications.List.ModelMap"/>
     61                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     62                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     63                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    5864                        </list>
    5965                </property>
    6066                <property name="view" ref="Publications.ChronologicalIndex.View"/>
    6167        </bean>
    62         <bean id="Publications.TopicalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    63                 <property name="additionalModelMapList">
     68        <bean id="Publications.TopicalIndex.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     69                <property name="modelMapList">
    6470                        <list>
    6571                                <ref bean="Publications.List.ModelMap"/>
     72                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     73                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     74                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    6675                        </list>
    6776                </property>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/query.xml

    r3654 r3663  
    128128
    129129        <!--  C O N T R O L L E R S  -->
    130         <bean id="Query.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    131                 <property name="additionalModelMapList">
     130        <bean id="Query.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     131                <property name="modelMapList">
    132132                        <list>
    133133                                <ref bean="Query.HTMLContent.ModelMap"/>
    134134                                <ref bean="Query.DefaultHTMLContent.ModelMap"/>
     135                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     136                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     137                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    135138                        </list>
    136139                </property>
     
    138141        </bean>
    139142
    140         <bean id="Query.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
     143        <bean id="Query.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     144                <property name="modelMapList">
     145                        <list>
     146                                <ref bean="Query.ModuleSelectionSystemID.ModelMap"/>
     147                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     148                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     149                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     150                        </list>
     151                </property>
     152                <property name="view" ref="Query.Selection.View"/>
     153        </bean>
     154
     155
     156        <bean id="Query.Module.Controller.CommonProperties" abstract="true">
    141157                <property name="additionalModelMapList">
    142158                        <list>
    143                                 <ref bean="Query.ModuleSelectionSystemID.ModelMap"/>
    144                         </list>
    145                 </property>
    146                 <property name="view" ref="Query.Selection.View"/>
    147         </bean>
    148 
    149 
    150         <bean id="Query.Module.Controller.CommonProperties" abstract="true">
    151                 <property name="modelMapList">
    152                         <list>
    153159                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    154160                                <ref bean="Query.Module.ModifiedDate.ModelMap"/>
     
    158164        </bean>
    159165
    160         <bean id="Query.Builder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    161                 <property name="additionalModelMapList">
    162                         <list>
    163                                 <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
     166
     167
     168
     169
     170
     171
     172        <bean id="Query.Builder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     173                <property name="modelMapList">
     174                        <list>
     175                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
     176                                <ref bean="Query.Module.ModifiedDate.ModelMap"/>
     177                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    164178                        </list>
    165179                </property>
     
    167181        </bean>
    168182
    169         <bean id="Query.Submit.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    170                 <property name="additionalModelMapList">
     183        <bean id="Query.Submit.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     184                <property name="modelMapList">
    171185                        <list>
    172186                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
    173187                                <ref bean="Query.Module.AddUserSelections.ModelMap"/>
    174188                                <ref bean="Query.Module.DeleteIBISQResult.ModelMap"/>
     189                                <ref bean="Query.Module.ModifiedDate.ModelMap"/>
     190                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    175191                        </list>
    176192                </property>
     
    178194        </bean>
    179195
    180         <bean id="Query.Result.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    181                 <property name="additionalModelMapList">
     196        <bean id="Query.Result.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     197                <property name="modelMapList">
    182198                        <list>
    183199                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
     
    185201                                <ref bean="Query.Module.AddMissingDimensionRecords.ModelMap"/>
    186202                                <ref bean="Query.Module.ChangeDisplay.ModelMap"/>
     203                                <ref bean="Query.Module.ModifiedDate.ModelMap"/>
     204                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    187205                        </list>
    188206                </property>
     
    198216        </bean>
    199217
    200         <bean id="Query.MapGraphic.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    201                 <property name="additionalModelMapList">
     218        <bean id="Query.MapGraphic.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     219                <property name="modelMapList">
    202220                        <list>
    203221                                <ref bean="Query.Module.DocumentFromSession.ModelMap"/>
    204222                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     223                                <ref bean="Query.Module.ModifiedDate.ModelMap"/>
     224                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    205225                        </list>
    206226                </property>
     
    210230
    211231        <bean id="Query.Configuration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    212                 <property name="additionalModelMapList">
     232                <property name="modelMapList">
    213233                        <list>
    214234                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
     
    220240
    221241        <bean id="Query.IBISQResult.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    222                 <property name="additionalModelMapList">
     242                <property name="modelMapList">
    223243                        <list>
    224244                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/query_definition.xml

    r3654 r3663  
    1919                <property name="arguments"><list><value>xml/query/definition</value></list></property>
    2020        </bean>
    21 
     21        <bean id="QueryDefinition.QueryDefinition.ModelMapKey" class="java.lang.String">
     22                <constructor-arg type="java.lang.String" value="QueryDefinition"/>
     23        </bean>
    2224
    2325
     
    3032        <bean id="QueryDefinition.ModuleToDefinition.Service" class="org.ibisph.querydefinition.service.QueryModuleXMLToQueryDefinitionXML"/>
    3133
     34        <bean id="QueryDefinition.QueryDefinitionCoreFromHTTPRequestParameters.Service" class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
     35                <description>HTTP REQUEST PARAMS to QD - POSTED - SAVE QUERY DEF</description>
     36                <property name="containerElementName" value="QUERY_DEFINITION"/>
     37                <property name="HTTPRequestParameterNameToXMLElementNameList">
     38                        <list>
     39                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="configurationPath"/><constructor-arg value="CONFIGURATION_PATH"/></bean>
     40                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="name"/>       <constructor-arg value="NAME"/></bean>
     41                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="title"/>      <constructor-arg value="TITLE"/></bean>
     42                                <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="description"/><constructor-arg value="DESCRIPTION"/></bean>
     43                        </list>
     44                </property>
     45        </bean>
    3246
    3347
    3448        <!-- X M L   M O D E L S -->
     49        <bean id="QueryDefinition.QueryDefinitionsFromHTTPRequest.ModelMap"
     50                class="org.ibisph.querydefinition.modelmap.QueryDefinitionsFromHTTPRequest"
     51                parent="Common.XMLModelMap.CommonProperties"
     52        >
     53                <description>
     54                        Main XML for query defs list and save or delete query def controller.
     55                        User's saved query definitions document
     56                </description>
     57                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
     58        </bean>
     59
    3560        <bean id="QueryDefinition.DeleteQueryModuleFromHTTPSession.ModelMap" class="org.ibisph.web.modelmap.DeleteSessionAttributeFromHTTPRequest">
     61                <description>
     62                        This model map could/should really be a service.  It is left as a
     63                        model so that it can be injected into the model list processing.
     64                </description>
    3665                <property name="sessionAttributeName" ref="Query.Module.SessionName"/>
    3766        </bean>
    3867
    39         <bean id="QueryDefinition.QueryDefinitionsFromHTTPRequest.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionsFromHTTPRequest">
    40                 <description>"_system_" definitions XML list model.</description>
    41                 <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
    42         </bean>
    43 
    44         <bean id="QueryDefinition.DeleteQueryDefinitionParamaeters.ModelMap" class="org.ibisph.xml.modelmap.DeleteElementsFromDocument">
     68        <bean id="QueryDefinition.QueryDefinitionFromHTTPRequest.ModelMap"
     69                class="org.ibisph.querydefinition.modelmap.QueryDefinitionFromHTTPRequest"
     70        >
     71                <description>
     72                        Used to get the selected qd by the CriteriaBuilder, DefinitionBuilder,
     73                        and DefinitionResult.  All use this model to merge into the QM.
     74                </description>
     75                <property name="queryDefinitionNameHTTPRequestParameterName" value="queryDefinitionName"/>
     76                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
     77                <property name="modelMapKey" ref="QueryDefinition.QueryDefinition.ModelMapKey"/>
     78        </bean>
     79
     80        <bean id="QueryDefinition.QueryModuleFromHTTPRequestAndQueryDefinition.ModelMap"
     81                class="org.ibisph.querymodule.modelmap.QueryModuleFromHTTPRequestAndQueryDefinition"
     82                parent="Common.XMLModelMap.CommonProperties"
     83        >
     84                <description>
     85                        QD is passed in via the model map, QM is from the session if not
     86                        found then the QD's config path is used to load up the module.  The
     87                        QD is then loaded into the QM and returned.
     88                </description>
     89                <property name="queryDefinitionModelMapKey" ref="QueryDefinition.QueryDefinition.ModelMapKey"/>
     90                <property name="queryModuleSessionName" ref="Query.Module.SessionName"/>
     91                <property name="queryModuleService"     ref="Query.Module.XML.Service"/>
     92                <property name="queryDefinitionToQueryModuleService" ref="QueryDefinition.DefinitionToModule.Service"/>
     93        </bean>
     94
     95<bean id="QueryDefinition.DeleteQueryDefinitionParamaeters.ModelMap" class="org.ibisph.xml.modelmap.DeleteElementsFromDocument">
    4596                <description>
    4697                        used inline to remove the parameters from the query definition that is
     
    50101                        params left in is for the straight loading and running of a saved query.
    51102                </description>
     103                <property name="documentToDeleteNodesFromModelMapKey" ref="QueryDefinition.QueryDefinition.ModelMapKey"/>
    52104                <property name="elementToDeleteXPathList">
    53105                        <list>
     
    57109        </bean>
    58110
    59         <bean id="QueryDefinition.QueryModuleFromHTTPRequestAndQueryDefinition.ModelMap" class="org.ibisph.querymodule.modelmap.QueryModuleFromHTTPRequestAndQueryDefinition">
    60                 <description>
    61                         QD is passed in, QM is from the session if not found then the QD's
    62                         config path is used to load up the module.  The QD is then loaded
    63                         into the QM and returned.
    64                 </description>
    65                 <property name="queryModuleSessionName" ref="Query.Module.SessionName"/>
    66                 <property name="queryModuleService"     ref="Query.Module.XML.Service"/>
    67                 <property name="queryDefinitionToQueryModuleService" ref="QueryDefinition.DefinitionToModule.Service"/>
    68         </bean>
    69 
    70         <bean id="QueryDefinition.QueryDefinitionFromHTTPRequest.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionFromHTTPRequest">
     111<bean id="QueryDefinition.DeleteQueryDefinitionFromHTTPRequest.ModelMap" class="org.ibisph.querydefinition.modelmap.DeleteQueryDefinitionFromHTTPRequest">
    71112                <description>QD from HTTP REQUEST PARAM - POSTED OR GET.</description>
    72113                <property name="queryDefinitionNameHTTPRequestParameterName" value="queryDefinitionName"/>
    73114                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
    74         </bean>
    75 
    76         <bean id="QueryDefinition.DeleteQueryDefinitionFromHTTPRequest.ModelMap" class="org.ibisph.querydefinition.modelmap.DeleteQueryDefinitionFromHTTPRequest">
    77                 <description>QD from HTTP REQUEST PARAM - POSTED OR GET.</description>
    78                 <property name="queryDefinitionNameHTTPRequestParameterName" value="queryDefinitionName"/>
    79                 <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
    80         </bean>
    81 
    82         <bean id="QueryDefinition.QueryDefinitionCoreFromHTTPRequestParameters.Service" class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
    83                 <description>HTTP REQUEST PARAMS to QD - POSTED - SAVE QUERY DEF</description>
    84                 <property name="containerElementName" value="QUERY_DEFINITION"/>
    85                 <property name="HTTPRequestParameterNameToXMLElementNameList">
    86                         <list>
    87                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="configurationPath"/><constructor-arg value="CONFIGURATION_PATH"/></bean>
    88                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="name"/>       <constructor-arg value="NAME"/></bean>
    89                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="title"/>      <constructor-arg value="TITLE"/></bean>
    90                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="description"/><constructor-arg value="DESCRIPTION"/></bean>
    91                         </list>
    92                 </property>
    93         </bean>
    94 
    95         <bean id="QueryDefinition.QueryDefinitionWithCriteriaFromHTTPRequestQueryModuleAndQueryDefinitionCore.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryModuleToQueryDefinition">
    96                 <description>
     115<property name="modelMapKey" value="SavedQueryDefinition"/>
     116        </bean>
     117
     118<bean id="QueryDefinition.QueryDefinitionWithCriteriaFromHTTPRequestQueryModuleAndQueryDefinitionCore.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryModuleToQueryDefinition">
     119                <description>
     120SERVICE or needs model map key...
    97121                        loads the QM from the HTTP session
    98122                        core QD is passed into the getModel
     
    100124                <property name="queryModuleSessionName" ref="Query.Module.SessionName"/>
    101125                <property name="queryModuleToQueryDefinitionService" ref="QueryDefinition.ModuleToDefinition.Service"/>
    102         </bean>
    103 
    104         <bean id="QueryDefinition.SavedQueryDefinitionFromHTTPRequestAndLoadedQueryDefinitoin.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionToQueryDefinitions">
    105                 <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
     126<!-- property name="modelMapKey" value="SavedQueryDefinition"/ -->
     127        </bean>
     128
     129<bean id="QueryDefinition.SavedQueryDefinitionFromHTTPRequestAndLoadedQueryDefinitoin.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionToQueryDefinitions">
     130                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
     131<property name="modelMapKey" value="SavedQueryDefinition"/>
    106132        </bean>
    107133
     
    109135
    110136        <!--  C O N T R O L L E R S  -->
    111         <bean id="QueryDefinition.Controller.CommonProperties" abstract="true">
    112                 <property name="modelMapList">
    113                         <list>
    114                                 <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    115                                 <ref bean="Common.HTTPRequestParameters.ModelMap"/>
    116                         </list>
    117                 </property>
     137        <bean id="QueryDefinition.DefinitionList.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     138                <description>model is the user's query defs, view is the list page</description>
     139                <property name="modelMapList">
     140                        <list>
     141                                <ref bean="QueryDefinition.QueryDefinitionsFromHTTPRequest.ModelMap"/>
     142                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     143                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     144                        </list>
     145                </property>
     146                <property name="view" ref="QueryDefinition.DefinitionsList.View"/>
    118147                <property name="noCacheHTTPHeader" value="true"/>
    119148        </bean>
    120149
    121         <bean id="QueryDefinition.DefinitionList.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    122                 <description>DEFINITION SELECTION LIST PAGE</description>
    123                 <property name="additionalModelMapList">
    124                         <list>
    125                                 <ref bean="QueryDefinition.QueryDefinitionsFromHTTPRequest.ModelMap"/>
    126                         </list>
    127                 </property>
    128                 <property name="view" ref="QueryDefinitions.DefinitionsList.View"/>
    129         </bean>
    130 
    131 
    132         <bean id="QueryDefinition.DefinitionResult.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    133                 <description>POST FROM DEFINITION LIST PAGE - CLEAN QM, LOAD QD, RESULT VIEW</description>
    134                 <property name="additionalModelMapList">
     150        <bean id="QueryDefinition.RunDefinition.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     151                <description>
     152                        Run's the selected query defintion - from the qd list page.  This
     153                        CLEANs QM, LOAD QD, and uses the std qm RESULT VIEW
     154                </description>
     155                <property name="modelMapList">
    135156                        <list>
    136157                                <ref bean="QueryDefinition.DeleteQueryModuleFromHTTPSession.ModelMap"/>
    137158                                <ref bean="QueryDefinition.QueryDefinitionFromHTTPRequest.ModelMap"/>
    138159                                <ref bean="QueryDefinition.QueryModuleFromHTTPRequestAndQueryDefinition.ModelMap"/>
     160                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     161                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    139162                        </list>
    140163                </property>
    141164                <property name="view" ref="Query.Result.View"/>
    142165        </bean>
    143         <bean id="QueryDefinition.DefinitionBuilder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    144                 <description>POST FROM DEFINITION LIST PAGE - CLEAN QM, LOAD QD, BUILDER VIEW</description>
    145                 <property name="additionalModelMapList">
     166
     167        <bean id="QueryDefinition.EditDefinition.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     168                <description>
     169                        Removes the current query module so that it won't be merged.  Then
     170                        loads the selected query defintion and shows the builder/qd edit
     171                        page which is the saved query definition.
     172                </description>
     173                <property name="modelMapList">
    146174                        <list>
    147175                                <ref bean="QueryDefinition.DeleteQueryModuleFromHTTPSession.ModelMap"/>
     
    149177                                <ref bean="QueryDefinition.DeleteQueryDefinitionParamaeters.ModelMap"/>
    150178                                <ref bean="QueryDefinition.QueryModuleFromHTTPRequestAndQueryDefinition.ModelMap"/>
     179                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     180                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    151181                        </list>
    152182                </property>
    153183                <property name="view" ref="Query.Builder.View"/>
    154184        </bean>
    155         <bean id="QueryDefinition.CriteriaBuilder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    156                 <description>POST FROM DEFINITION LIST PAGE - EXISTING QM, LOAD QD, BUILDER VIEW</description>
    157                 <property name="additionalModelMapList">
     185
     186        <bean id="QueryDefinition.ApplyDefinition.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     187                <description>
     188                        Loads the selected query defintion, merges into the current qm and
     189                        shows the builder/qm edit page.
     190                </description>
     191                <property name="modelMapList">
    158192                        <list>
    159193                                <ref bean="QueryDefinition.QueryDefinitionFromHTTPRequest.ModelMap"/>
    160194                                <ref bean="QueryDefinition.DeleteQueryDefinitionParamaeters.ModelMap"/>
    161195                                <ref bean="QueryDefinition.QueryModuleFromHTTPRequestAndQueryDefinition.ModelMap"/>
     196                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     197                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    162198                        </list>
    163199                </property>
     
    166202
    167203
    168         <bean id="QueryDefinition.EditDetail.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
     204<bean id="QueryDefinition.EditDetail.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    169205                <description>
    170206                        /query/definition/edit*"
     
    172208                        DEFINITION SELECTION LIST PAGE
    173209                </description>
    174                 <property name="additionalModelMapList">
     210                <property name="modelMapList">
    175211                        <list>
    176212                                <ref bean="Query.Module.DocumentFromSession.ModelMap"/>
    177                         </list>
    178                 </property>
    179                 <property name="view" ref="QueryDefinitions.EditDetail.View"/>
    180         </bean>
    181         <bean id="QueryDefinition.SaveDetail.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
     213                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     214                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     215                        </list>
     216                </property>
     217                <property name="view" ref="QueryDefinition.EditDetail.View"/>
     218        </bean>
     219<bean id="QueryDefinition.SaveDetail.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
    182220                <description>
    183221                        /query/definition/save* -OR- /query/critera/save*
     
    187225                        Get the QDs and return the LIST view.
    188226                </description>
    189                 <property name="additionalModelMapList">
     227                <property name="modelMapList">
    190228                        <list>
    191229<!--
     
    195233                                <ref bean="QueryDefinition.SavedQueryDefinitionFromHTTPRequestAndLoadedQueryDefinitoin.ModelMap"/>
    196234                                <ref bean="QueryDefinition.QueryDefinitionsFromHTTPRequest.ModelMap"/>
    197                         </list>
    198                 </property>
    199                 <property name="view" ref="QueryDefinitions.DefinitionsList.View"/>
    200         </bean>
    201 
    202         <bean id="QueryDefinition.DeleteDefinition.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    203                 <description>
    204                 </description>
    205                 <property name="additionalModelMapList">
     235                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     236                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     237                        </list>
     238                </property>
     239                <property name="view" ref="QueryDefinition.DefinitionsList.View"/>
     240        </bean>
     241
     242<bean id="QueryDefinition.DeleteDefinition.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     243                <description>
     244                </description>
     245                <property name="modelMapList">
    206246                        <list>
    207247                                <ref bean="QueryDefinition.DeleteQueryDefinitionFromHTTPRequest.ModelMap"/>
    208                         </list>
    209                 </property>
    210                 <property name="view" ref="QueryDefinitions.DefinitionsList.View"/>
     248                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     249                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
     250                        </list>
     251                </property>
     252                <property name="view" ref="QueryDefinition.DefinitionsList.View"/>
    211253        </bean>
    212254
    213255
    214256        <!--  V I E W   R E S O U R C E S  -->
    215         <bean id="QueryDefinitions.AlphabeticalList.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
     257        <bean id="QueryDefinition.AlphabeticalList.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
    216258                <constructor-arg ref="Common.Context.Servlet.RootPath"/>
    217259                <constructor-arg value="xslt/html/query/definition/list/AlphabeticalPage.xslt"/>
    218260        </bean>
    219         <bean id="QueryDefinitions.EditDetail.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
     261        <bean id="QueryDefinition.EditDetail.XSLT.SystemID" class="org.ibisph.systemid.FileSystemID">
    220262                <constructor-arg ref="Common.Context.Servlet.RootPath"/>
    221263                <constructor-arg value="xslt/html/query/definition/detail/DetailPage.xslt"/>
     
    224266
    225267        <!--  V I E W S  -->
    226         <bean id="QueryDefinitions.DefinitionsList.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
    227                 <constructor-arg ref="QueryDefinitions.AlphabeticalList.XSLT.SystemID"/>
     268        <bean id="QueryDefinition.DefinitionsList.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
     269                <constructor-arg ref="QueryDefinition.AlphabeticalList.XSLT.SystemID"/>
    228270                <constructor-arg ref="Common.XSLT.Transformation"/>
    229271        </bean>
    230         <bean id="QueryDefinitions.EditDetail.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
    231                 <constructor-arg ref="QueryDefinitions.EditDetail.XSLT.SystemID"/>
     272        <bean id="QueryDefinition.EditDetail.View" class="org.ibisph.xml.springmvc.XSLTXMLTransformationView">
     273                <constructor-arg ref="QueryDefinition.EditDetail.XSLT.SystemID"/>
    232274                <constructor-arg ref="Common.XSLT.Transformation"/>
    233275        </bean>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/secure.xml

    r3654 r3663  
    2929        </bean>
    3030
    31         <bean id="Secure.UserAuthoritiesXML.ParameterMap" class="org.ibisph.user.springsecurity.UserAuthoritiesXMLModelMap"/>
     31        <bean id="Secure.UserAuthoritiesXML.ModelMap" class="org.ibisph.user.springsecurity.UserAuthoritiesXMLModelMap"/>
    3232
    3333        <bean id="Secure.QueryModule.XML.Service" class="org.ibisph.querymodule.service.QueryModuleXML">
     
    5555
    5656        <!--  C O N T R O L L E R S  -->
    57         <bean id="Secure.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    58                 <property name="additionalModelMapList">
     57        <bean id="Secure.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     58                <property name="modelMapList">
    5959                        <list>
    6060                                <ref bean="Secure.Selection.ModelMap"/>
    6161                                <ref bean="Secure.DefaultSelection.ModelMap"/>
    62                                 <ref bean="Secure.UserAuthoritiesXML.ParameterMap"/>
     62                                <ref bean="Secure.UserAuthoritiesXML.ModelMap"/>
     63                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     64                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     65                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    6366                        </list>
    6467                </property>
     
    6770
    6871
    69         <bean id="Secure.Query.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    70                 <property name="additionalModelMapList">
     72        <bean id="Secure.Query.Selection.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     73                <property name="modelMapList">
    7174                        <list>
    7275                                <ref bean="Secure.Query.ModuleSelectionSystemID.ModelMap"/>
     76                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     77                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     78                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    7379                        </list>
    7480                </property>
     
    7682        </bean>
    7783        <bean id="Secure.Query.Builder.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    78                 <property name="additionalModelMapList">
     84                <property name="modelMapList">
    7985                        <list>
    8086                                <ref bean="Secure.QueryModule.DocumentFromHTTPRequest.ModelMap"/>
     
    8591
    8692        <bean id="Secure.Query.Submit.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    87                 <property name="additionalModelMapList">
     93                <property name="modelMapList">
    8894                        <list>
    8995                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
     
    96102
    97103        <bean id="Secure.Query.Result.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Query.Module.Controller.CommonProperties">
    98                 <property name="additionalModelMapList">
     104                <property name="modelMapList">
    99105                        <list>
    100106                                <ref bean="Query.Module.DocumentFromHTTPRequest.ModelMap"/>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/security.xml

    r3548 r3663  
    6464                                        <constructor-arg>
    6565                                                <list>
    66                                                         <value>/user/authenticate</value>
    67                                                         <value>/user/logout</value>
    68                                                         <value>/user/profile/*</value>
    69                                                         <value>/user/MyQueries.html</value>
    70                                                         <value>/query/definition/**</value>
    71                                                         <value>/query/criteria/**</value>
     66                                                        <value>/authenticate</value>
     67                                                        <value>/logout</value>
     68                                                        <value>/edit/user/profile</value>
     69                                                        <value>/save/user/profile</value>
     70                                                        <value>/delete/user/profile</value>
     71                                                        <value>/user/selection/List.html</value>
     72
     73                                                        <value>/save/query/result</value>
     74                                                        <value>/save/query/definition</value>
     75                                                        <value>/query/definition/List.html</value>
     76                                                        <value>/run/query/definition/**</value>
     77                                                        <value>/edit/query/definition/**</value>
     78                                                        <value>/apply/query/definition/**</value>
     79                                                        <value>/delete/query/definition/**</value>
    7280                                                </list>
    7381                                        </constructor-arg>
     
    106114
    107115                                <bean class="org.ibisph.web.filter.AntPatternSecurityFilterChain">
     116                                        <description>
     117                                                Entries needed to check that publish requests are originating
     118                                                from a specified IP address.  The address is specified either
     119                                                in the spring bean config file or in a property file and should
     120                                                be set to the IP address of the computer that the admin app
     121                                                lives on.  If the direct XML file publishing or a bundled
     122                                                deployment mechanism is used then these are not needed - but do
     123                                                no harm in being left as a default configuration - the URLs are
     124                                                simply never hit.
     125                                        </description>
    108126                                        <constructor-arg>
    109127                                                <list>
     
    180198                        </list>
    181199                </constructor-arg>
    182                 <property name="filterProcessesUrl" value="/user/logout"/>
     200                <property name="filterProcessesUrl" value="/logout"/>
    183201        </bean>
    184202
     
    221239        <!-- form based login filter -->
    222240        <bean id="Security.Authentication.Page.ProcessingFilter" class="org.ibisph.user.springsecurity.LogUserAuthenticationProcessingFilter">
    223                 <property name="filterProcessesUrl"       value="/user/authenticate"/>
     241                <property name="filterProcessesUrl"       value="/authenticate"/>
    224242                <property name="usernameParameter"        value="username"/>
    225243                <property name="passwordParameter"        value="password"/>
     
    292310
    293311        <bean id="Security.Authorization.MetadataSource" class="org.springframework.security.web.access.intercept.DefaultFilterInvocationSecurityMetadataSource">
     312                <description>
     313                        This definition is where the specific authorities and authorizations are
     314                        are specified.  For the view app all of the secure requests simply need
     315                        the user to be authenticated.  Also only the URL/resource mappings that
     316                        are specified in the secure filter mappings are processed so a simple
     317                        global request matchers is all that is needed.
     318                </description>
    294319                <constructor-arg>
    295320                        <map>
    296321                                <entry>
    297322                                        <key><bean class="org.springframework.security.web.util.AntPathRequestMatcher">
    298                                                 <constructor-arg value="/query/definition/**"/>
    299                                         </bean></key>
    300                                         <list>
    301                                                 <bean class="org.springframework.security.access.SecurityConfig">
    302                                                         <constructor-arg value="IS_AUTHENTICATED_FULLY"/>
    303                                                 </bean>
    304                                         </list>
    305                                 </entry>
    306                                 <entry>
    307                                         <key><bean class="org.springframework.security.web.util.AntPathRequestMatcher">
    308                                                 <constructor-arg value="/user/**"/>
     323                                                <constructor-arg value="/**"/>
    309324                                        </bean></key>
    310325                                        <list>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/config/spring/user.xml

    r3654 r3663  
    3333        </bean>
    3434
    35 <!--
     35
     36        <!-- MAIL NOTES:
     37                http://wheelersoftware.com/articles/spring-javamail-2.html
     38                http://static.springsource.org/spring/docs/3.1.x/reference/html/mail.html
     39                http://forum.springsource.org/showthread.php?33167-How-to-use-Spring-Mail-to-send-mails-via-Gmail-s-SMTP-server
     40                http://www.javacodegeeks.com/2010/07/java-mail-spring-gmail-smtp.html
     41
     42                if you're using JDK 1.5 or earlier, include the "activation.jar" file
     43                that you obtained from downloading the JavaBeans Activation Framework,
     44                in your CLASSPATH. 
     45
     46                Sun SMTP properties:
     47                http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html
     48               
     49                GMAIL NOTES:
     50                SSL (smtpS)
     51                        <property name="protocol" value="smtps"/>
     52                        <property name="port" value="465"/>  or port 25
     53
     54                TLS:
     55                        <property name="protocol" value="smtp"/>
     56                        <property name="port" value="587"/>
     57                        <prop key="mail.smtp.starttls.enable">true</prop>
     58
     59                doesn't appear to matter:
     60                <prop key="mail.smtp.auth">true</prop>
     61                <prop key="mail.user">garth.braithwaite@stgutah.com</prop>
     62                       
     63                velocity template example:
     64                http://www.javabeat.net/articles/83-email-integration-in-spring-framework-1.html
     65
     66        <bean id="User.MailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
     67                <description>
     68                        Local, internal webapp mail sender config that can be used for
     69                        testing without having to have the app server setup with a JNDI
     70                        mail session configuration.  If the app server is NOT setup for
     71                        JNDI then this code and the refs within the web.xml (and any
     72                        enterprise app server config file refs) should be commented out as
     73                        leaving in will cause the app to not load/start.  Note also that if
     74                        using this configuration the mail.jar and possibly the activation.jar
     75                        will need to be put into the app's lib folder.  If/when the JNDI
     76                        is used it is important to remove those jars from the webapp's lib.
     77                </description>
     78
     79                <property name="protocol" value="smtps"/>
     80                <property name="host" value="smtp.gmail.com"/>
     81                <property name="port" value="465"/>
     82                <property name="username" value=""/>
     83                <property name="password" value=""/>
     84                <property name="javaMailProperties">
     85                        <props>
     86                                <prop key="mail.smtp.connectiontimeout">200000</prop>
     87                                <prop key="mail.smtp.timeout">10000</prop>
     88                                <prop key="mail.debug">true</prop>
     89                        </props>
     90                </property>
     91        </bean>
     92        -->
    3693        <bean id="User.MailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    3794                <description>
     
    61118                </property>
    62119        </bean>
    63 -->
    64 
    65         <!-- MAIL NOTES:
    66                 http://wheelersoftware.com/articles/spring-javamail-2.html
    67                 http://static.springsource.org/spring/docs/3.1.x/reference/html/mail.html
    68                 http://forum.springsource.org/showthread.php?33167-How-to-use-Spring-Mail-to-send-mails-via-Gmail-s-SMTP-server
    69                 http://www.javacodegeeks.com/2010/07/java-mail-spring-gmail-smtp.html
    70 
    71                 if you're using JDK 1.5 or earlier, include the "activation.jar" file
    72                 that you obtained from downloading the JavaBeans Activation Framework,
    73                 in your CLASSPATH. 
    74 
    75                 Sun SMTP properties:
    76                 http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html
    77                
    78                 GMAIL NOTES:
    79                 SSL (smtpS)
    80                         <property name="protocol" value="smtps"/>
    81                         <property name="port" value="465"/>  or port 25
    82 
    83                 TLS:
    84                         <property name="protocol" value="smtp"/>
    85                         <property name="port" value="587"/>
    86                         <prop key="mail.smtp.starttls.enable">true</prop>
    87 
    88                 doesn't appear to matter:
    89                 <prop key="mail.smtp.auth">true</prop>
    90                 <prop key="mail.user">garth.braithwaite@stgutah.com</prop>
    91                        
    92                 velocity template example:
    93                 http://www.javabeat.net/articles/83-email-integration-in-spring-framework-1.html
    94         -->
    95 
    96         <bean id="User.MailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    97                 <description>
    98                         Local, internal webapp mail sender config that can be used for
    99                         testing without having to have the app server setup with a JNDI
    100                         mail session configuration.  If the app server is NOT setup for
    101                         JNDI then this code and the refs within the web.xml (and any
    102                         enterprise app server config file refs) should be commented out as
    103                         leaving in will cause the app to not load/start.  Note also that if
    104                         using this configuration the mail.jar and possibly the activation.jar
    105                         will need to be put into the app's lib folder.  If/when the JNDI
    106                         is used it is important to remove those jars from the webapp's lib.
    107                 </description>
    108 
    109                 <property name="protocol" value="smtps"/>
    110                 <property name="host" value="smtp.gmail.com"/>
    111                 <property name="port" value="465"/>
    112                 <property name="username" value="garth.braithwaite@stgutah.com"/>
    113                 <property name="password" value="karlyn.0"/>
    114                 <property name="javaMailProperties">
    115                         <props>
    116                                 <prop key="mail.smtp.connectiontimeout">200000</prop>
    117                                 <prop key="mail.smtp.timeout">10000</prop>
    118                                 <prop key="mail.debug">true</prop>
    119                         </props>
    120                 </property>
    121         </bean>
    122120
    123121        <bean id="User.MailMessage" class="org.springframework.mail.SimpleMailMessage">
     
    137135                <property name="documentDAO"        ref="Common.XML.DAO"/>
    138136        </bean>
    139 
    140 
    141         <!-- X M L   M O D E L S -->
    142         <bean id="User.DefaultHTMLContent.ModelMap" class="org.ibisph.modelmap.DefaultModelIfNullModel" parent="Common.XMLModelMap.CommonProperties">
    143         </bean>
    144         <bean id="User.HTMLContent.ModelMap" class="org.ibisph.systemid.modelmap.SystemIDFromHTTPRequestEndOfPathInfo" parent="Common.XMLModelMap.CommonProperties">
    145                 <property name="XMLPath" ref="User.HTMLContent.XML.Path"/>
    146         </bean>
    147 
    148137
    149138        <bean id="User.UserProfileFromHTTPRequestParameters.Service" class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
     
    164153        </bean>
    165154
    166         <bean id="User.SaveUserProfile.ModelMap" class="org.ibisph.user.service.SaveUserProfile">
    167                 <property name="userProfileService" ref="User.XML.Service"/>
    168                 <property name="javaMailSender"     ref="User.MailSender"/>
     155
     156
     157        <!-- X M L   M O D E L S -->
     158        <bean id="User.DefaultHTMLContent.ModelMap" class="org.ibisph.modelmap.DefaultModelIfNullModel" parent="Common.XMLModelMap.CommonProperties">
     159        </bean>
     160        <bean id="User.HTMLContent.ModelMap" class="org.ibisph.systemid.modelmap.SystemIDFromHTTPRequestEndOfPathInfo" parent="Common.XMLModelMap.CommonProperties">
     161                <property name="XMLPath" ref="User.HTMLContent.XML.Path"/>
     162        </bean>
     163
     164<bean id="User.SaveUserProfile.ModelMap" class="org.ibisph.user.service.SaveUserProfile">
     165        <property name="userProfileService" ref="User.XML.Service"/>
     166        <property name="javaMailSender"     ref="User.MailSender"/>
     167</bean>
     168
     169        <bean id="User.QueryDefinitionsXML.ModelMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionsFromHTTPRequest">
     170                <property name="modelMapKey" value="QueryDefinitions"/>
     171                <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
     172        </bean>
     173        <bean id="User.UserAuthoritiesXML.ModelMap" class="org.ibisph.user.springsecurity.UserAuthoritiesXMLModelMap">
     174                <property name="modelMapKey" value="UserAuthorities"/>
    169175        </bean>
    170176
     
    172178
    173179        <!--  C O N T R O L L E R S  -->
    174         <bean id="User.Controller.CommonProperties" abstract="true">
    175                 <property name="additionalModelMapList">
    176                         <list>
    177                                 <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    178                                 <ref bean="Common.HTTPRequestParameters.ModelMap"/>
    179                         </list>
    180                 </property>
    181                 <property name="noCacheHTTPHeader" value="true"/>
    182         </bean>
    183 
    184         <bean id="User.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    185                 <property name="additionalModelMapList">
     180        <bean id="User.HTMLContent.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     181                <property name="modelMapList">
    186182                        <list>
    187183                                <ref bean="User.HTMLContent.ModelMap"/>
    188184                                <ref bean="User.DefaultHTMLContent.ModelMap"/>
     185                                <ref bean="Common.ModifiedDateFromFileSystemID.ModelMap"/>
     186                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     187                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    189188                        </list>
    190189                </property>
     
    192191        </bean>
    193192
    194         <bean id="User.EmailPassword.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    195         </bean>
    196 
    197         <bean id="User.NewRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
     193        <bean id="User.EmailPassword.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     194                <property name="additionalModelMapList">
     195                        <ref bean="Common.FileSystemID.ModelMaps"/>
     196                </property>
     197        </bean>
     198
     199        <bean id="User.NewRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController">
     200                <property name="additionalModelMapList">
     201                        <ref bean="Common.FileSystemID.ModelMaps"/>
     202                </property>
    198203        </bean>
    199204
     
    203208                        Get the POSTED HTTP request params and create a new USER
    204209                </description>
    205                 <property name="additionalModelMapList">
     210                <property name="modelMapList">
    206211                        <list>
    207212<!--
     
    214219        </bean>
    215220
    216         <bean id="User.VerifyRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    217         </bean>
    218 
    219         <bean id="User.EditProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
    220         </bean>
    221 
    222         <bean id="User.SaveProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="Common.FileSystemID.Controller.CommonProperties">
     221        <bean id="User.VerifyRegistration.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="User.Controller.CommonProperties">
     222        </bean>
     223
     224        <bean id="User.EditProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="User.Controller.CommonProperties">
     225        </bean>
     226
     227        <bean id="User.SaveProfile.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="User.Controller.CommonProperties">
    223228        </bean>
    224229
     
    236241
    237242
    238         <bean id="User.QueryDefinitionsXML.ParameterMap" class="org.ibisph.querydefinition.modelmap.QueryDefinitionsFromHTTPRequest">
    239                 <property name="queryDefinitionsService" ref="QueryDefinition.XML.Service"/>
    240         </bean>
    241         <bean id="User.UserAuthoritiesXML.ParameterMap" class="org.ibisph.user.springsecurity.UserAuthoritiesXMLModelMap"/>
    242 
     243<!-- MY QUERIES -->
    243244        <bean id="User.QuerySelectionList.Controller" class="org.ibisph.web.springmvc.ModelMapListProcessingController" parent="QueryDefinition.Controller.CommonProperties">
    244245                <description>    </description>
    245                 <property name="additionalModelMapList">
     246                <property name="modelMapList">
    246247                        <list>
    247248                                <ref bean="Secure.DefaultSelection.ModelMap"/>
    248                                 <ref bean="User.QueryDefinitionsXML.ParameterMap"/>
    249                                 <ref bean="User.UserAuthoritiesXML.ParameterMap"/>
     249                                <ref bean="User.QueryDefinitionsXML.ModelMap"/>
     250                                <ref bean="User.UserAuthoritiesXML.ModelMap"/>
     251                                <ref bean="Common.HTTPRequestParameters.ModelMap"/>
     252                                <ref bean="Common.WebAppURLContextPrefixFromHTTPRequest.ModelMap"/>
    250253                        </list>
    251254                </property>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/jsp/error/detail.jsp

    r3544 r3663  
    3030if(errorURI == null) errorURI = (String)request.getSession().getAttribute ("javax.servlet.error.request_uri");
    3131if(errorURI == null) errorURI = (String)request.getAttribute("javax.servlet.error.request_uri");
     32/*
     33if(errorURI != null)
     34{
     35        try {errorURI = org.ibisph.util.NetLib.encode(errorURI);}
     36        catch(Exception ex) {}
     37}
     38*/
    3239if(errorURI == null) errorMessage = "Could not get error URI.";
    3340
     
    94101
    95102                        <div class="Content">
     103<%-- Removed 3/2012 due to script vulernability - even though not a real issue...
    96104                                <div class="Request">
    97105                                        The IBIS-PH system has experienced an internal error while trying to fulfill a request for:<br/>
    98                                         <a href="<%=errorURI%>"><%=errorURI%></a>
     106                                        <%=errorURI%>
    99107                                </div><br/>
     108--%>
    100109
    101110<%@ include file="_options.jsp"%>
  • branches/2.1/src/main/webapps/ibisph-view/WEB-INF/web.xml

    r3636 r3663  
    5050                <res-auth>Container</res-auth>
    5151        </resource-ref>
     52        -->
    5253        <resource-ref>
    5354                <description>Resource reference to the app server container managed JNDI JavaMail factory</description>
     
    5758                <res-sharing-scope>Shareable</res-sharing-scope>
    5859        </resource-ref>
    59         -->
    6060
    6161
     
    130130
    131131        <!-- ========================================= F I L T E R   M A P P I N G S -->
    132         <!-- These mappings are so that content can be zipped, headers modified
    133                 and other request/response filter manipulation.  This is done with
    134                 Spring's delegating filter so that filters can have objects injected
    135                 and for the finer URL pattern matching that the delegating filter
    136                 provides.
     132        <!-- The standard filters provide response compression (gzip), header
     133                modifications for stuffing graphic types and cookie values, and to
     134                handle other request/response manipulations.  The security filters
     135                provide authentication and authorization protection for the web URL/
     136                resource via Spring Security filters.  Both types of filtering are
     137                handled at a high level with Spring's delegating filter.  Spring's
     138                delegating proxy filter provides 2 important capabilities not found in
     139                standard web.xml filter mappings: 1) more flexible URL to filter
     140                mappings, and 2) the ability to configure filters using spring
     141                injection.  Each filter definition has the detailed filter mappings
     142                which makes this web.xml simplier and allows the filters to all be
     143                contained in one area and easier to maintain.
    137144        -->
    138145        <filter-mapping>
    139146                <filter-name>StandardFilters</filter-name>
    140                 <url-pattern>/home/*</url-pattern>
    141         </filter-mapping>
    142         <filter-mapping>
    143                 <filter-name>StandardFilters</filter-name>
    144                 <url-pattern>/publications/*</url-pattern>
    145         </filter-mapping>
    146         <filter-mapping>
    147                 <filter-name>StandardFilters</filter-name>
    148                 <url-pattern>/indicator/*</url-pattern>
    149         </filter-mapping>
    150         <filter-mapping>
    151                 <filter-name>StandardFilters</filter-name>
    152                 <url-pattern>/query/*</url-pattern>
    153         </filter-mapping>
    154         <filter-mapping>
    155                 <filter-name>StandardFilters</filter-name>
    156                 <url-pattern>/secure/*</url-pattern>
    157         </filter-mapping>
    158         <filter-mapping>
    159                 <filter-name>StandardFilters</filter-name>
    160                 <url-pattern>/phom/*</url-pattern>
    161         </filter-mapping>
    162         <filter-mapping>
    163                 <filter-name>StandardFilters</filter-name>
    164                 <url-pattern>/community/*</url-pattern>
    165         </filter-mapping>
    166 
    167         <filter-mapping>
    168                 <filter-name>StandardFilters</filter-name>
    169                 <url-pattern>/css/*</url-pattern>
    170         </filter-mapping>
    171         <filter-mapping>
    172                 <filter-name>StandardFilters</filter-name>
    173                 <url-pattern>/image/*</url-pattern>
    174         </filter-mapping>
    175         <filter-mapping>
    176                 <filter-name>StandardFilters</filter-name>
    177                 <url-pattern>/js/*</url-pattern>
    178         </filter-mapping>
    179 
    180         <filter-mapping>
    181                 <filter-name>SecurityFilters</filter-name>
    182                 <url-pattern>/user/*</url-pattern>
     147                <url-pattern>*</url-pattern>
    183148        </filter-mapping>
    184149        <filter-mapping>
    185150                <filter-name>SecurityFilters</filter-name>
    186                 <url-pattern>/query/definition/*</url-pattern>
    187         </filter-mapping>
    188         <filter-mapping>
    189                 <filter-name>SecurityFilters</filter-name>
    190                 <url-pattern>/query/criteria/*</url-pattern>
    191         </filter-mapping>
    192 
    193         <filter-mapping>
    194                 <filter-name>SecurityFilters</filter-name>
    195                 <url-pattern>/secure/*</url-pattern>
    196         </filter-mapping>
    197 
    198         <!--
    199                 Entries needed to check that publish requests are originating from a
    200                 specified IP address.  The address is specified either in the spring
    201                 bean config file or in a property file and should be set to the IP
    202                 address of the computer that the admin app lives on.  If the direct XML
    203                 file publishing or a bundled deployment mechanism is used then these
    204                 are not needed - but do no harm in being left as a default configuration
    205                 - the URLs are simply never hit.
    206         -->
    207         <filter-mapping>
    208                 <filter-name>SecurityFilters</filter-name>
    209                 <url-pattern>/publish/*</url-pattern>
    210         </filter-mapping>
    211         <filter-mapping>
    212                 <filter-name>SecurityFilters</filter-name>
    213                 <url-pattern>/unpublish/*</url-pattern>
     151                <url-pattern>*</url-pattern>
    214152        </filter-mapping>
    215153
     
    246184
    247185        <!-- ======================================= S E R V L E T   M A P P I N G S -->
    248         <!--
    249                 NOTE: need to map each system and NOT have a general /* mapping because
    250                 the servlet will then receive requests for image files, js, css etc...
     186        <!-- Servlet and filter URL mappings have the same exact limitations as
     187                such they are handled in a similar manner - all requests are routed
     188                to the Spring request dispaatcher servlet which uses more robust URL
     189                to controller mappings.  This is not very efficient for static content
     190                but static content has header values that encourage the browser to cache
     191                its content. 
     192
     193                setup the dispatcher servlet to handle all requsets with the defaul explicitly
     194                configed to handle all static content:
     195        <servlet-mapping>
     196                <servlet-name>default</servlet-name>
     197                <url-pattern>/css/*</url-pattern>
     198                <url-pattern>/image/*</url-pattern>
     199                <url-pattern>*.ico</url-pattern>
     200                <url-pattern>/js/*</url-pattern>
     201                <url-pattern>*.jsp</url-pattern>
     202                <url-pattern>/xml/*</url-pattern>
     203        </servlet-mapping>   
     204
     205                <url-pattern>/*</url-pattern>
     206
     207                the above has an issue with the path prefix needing to be stripped for
     208                the correct xml file path.  Doing this would however do away with the
     209                ds needing to check full path and the below mappings which are basically
     210                used to strip url path prefixes.
    251211        -->
    252212        <servlet-mapping>
    253213                <servlet-name>Dispatcher.Servlet</servlet-name>
     214
    254215                <url-pattern>/home/*</url-pattern>
    255         </servlet-mapping>
    256         <servlet-mapping>
    257                 <servlet-name>Dispatcher.Servlet</servlet-name>
    258216                <url-pattern>/publications/*</url-pattern>
    259         </servlet-mapping>
    260         <servlet-mapping>
    261                 <servlet-name>Dispatcher.Servlet</servlet-name>
    262217                <url-pattern>/indicator/*</url-pattern>
    263         </servlet-mapping>
    264         <servlet-mapping>
    265                 <servlet-name>Dispatcher.Servlet</servlet-name>
    266218                <url-pattern>/community/*</url-pattern>
    267         </servlet-mapping>
    268         <servlet-mapping>
    269                 <servlet-name>Dispatcher.Servlet</servlet-name>
    270219                <url-pattern>/query/*</url-pattern>
    271         </servlet-mapping>
    272         <servlet-mapping>
    273                 <servlet-name>Dispatcher.Servlet</servlet-name>
    274220                <url-pattern>/user/*</url-pattern>
    275         </servlet-mapping>
    276         <servlet-mapping>
    277                 <servlet-name>Dispatcher.Servlet</servlet-name>
    278221                <url-pattern>/secure/*</url-pattern>
    279         </servlet-mapping>
    280         <servlet-mapping>
    281                 <servlet-name>Dispatcher.Servlet</servlet-name>
    282222                <url-pattern>/phom/*</url-pattern>
    283         </servlet-mapping>
    284 
    285         <!-- generic transformation request handler -->
    286         <servlet-mapping>
    287                 <servlet-name>Dispatcher.Servlet</servlet-name>
     223
    288224                <url-pattern>/view/*</url-pattern>
     225                <url-pattern>/edit/*</url-pattern>
     226                <url-pattern>/save/*</url-pattern>
     227                <url-pattern>/delete/*</url-pattern>
     228                <url-pattern>/run/*</url-pattern>
     229                <url-pattern>/apply/*</url-pattern>
     230                <url-pattern>/send/*</url-pattern>
     231
     232                <!--
     233                        Default publishing URL mapping that even if direct publishing is
     234                        configured in the admin app does no harm as these URLs are never hit.
     235                -->
     236                <url-pattern>/publish/*</url-pattern>
     237                <url-pattern>/unpublish/*</url-pattern>
    289238        </servlet-mapping>
    290239
     
    301250        <servlet-mapping>
    302251                <servlet-name>Dispatcher.Servlet</servlet-name>
     252
    303253                <url-pattern>/indicator/graphic/*</url-pattern>
    304         </servlet-mapping>
    305         <servlet-mapping>
    306                 <servlet-name>Dispatcher.Servlet</servlet-name>
    307254                <url-pattern>/query/selection/*</url-pattern>
    308         </servlet-mapping>
    309         <servlet-mapping>
    310                 <servlet-name>Dispatcher.Servlet</servlet-name>
    311255                <url-pattern>/query/configuration/*</url-pattern>
    312         </servlet-mapping>
    313         <servlet-mapping>
    314                 <servlet-name>Dispatcher.Servlet</servlet-name>
    315256                <url-pattern>/query/builder/*</url-pattern>
    316         </servlet-mapping>
    317         <servlet-mapping>
    318                 <servlet-name>Dispatcher.Servlet</servlet-name>
    319257                <url-pattern>/query/submit/*</url-pattern>
    320         </servlet-mapping>
    321         <servlet-mapping>
    322                 <servlet-name>Dispatcher.Servlet</servlet-name>
    323258                <url-pattern>/query/result/*</url-pattern>
    324         </servlet-mapping>
    325         <servlet-mapping>
    326                 <servlet-name>Dispatcher.Servlet</servlet-name>
    327259                <url-pattern>/query/result/graphic/*</url-pattern>
    328         </servlet-mapping>
    329 
    330         <servlet-mapping>
    331                 <servlet-name>Dispatcher.Servlet</servlet-name>
     260
    332261                <url-pattern>/secure/query/selection/*</url-pattern>
    333         </servlet-mapping>
    334         <servlet-mapping>
    335                 <servlet-name>Dispatcher.Servlet</servlet-name>
    336262                <url-pattern>/secure/query/configuration/*</url-pattern>
    337         </servlet-mapping>
    338         <servlet-mapping>
    339                 <servlet-name>Dispatcher.Servlet</servlet-name>
    340263                <url-pattern>/secure/query/builder/*</url-pattern>
    341         </servlet-mapping>
    342         <servlet-mapping>
    343                 <servlet-name>Dispatcher.Servlet</servlet-name>
    344264                <url-pattern>/secure/query/submit/*</url-pattern>
    345         </servlet-mapping>
    346         <servlet-mapping>
    347                 <servlet-name>Dispatcher.Servlet</servlet-name>
    348265                <url-pattern>/secure/query/result/*</url-pattern>
    349         </servlet-mapping>
    350         <servlet-mapping>
    351                 <servlet-name>Dispatcher.Servlet</servlet-name>
    352266                <url-pattern>/secure/query/result/graphic/*</url-pattern>
    353267        </servlet-mapping>
    354268
    355         <!--
    356                 Default publishing URL mapping that even if direct publishing is
    357                 configured in the admin app does no harm as these URLs are never hit.
    358         -->
    359         <servlet-mapping>
    360                 <servlet-name>Dispatcher.Servlet</servlet-name>
    361                 <url-pattern>/publish/*</url-pattern>
    362         </servlet-mapping>
    363         <servlet-mapping>
    364                 <servlet-name>Dispatcher.Servlet</servlet-name>
    365                 <url-pattern>/unpublish/*</url-pattern>
    366         </servlet-mapping>
    367 
    368         <servlet-mapping>
    369                 <servlet-name>Dispatcher.Servlet</servlet-name>
    370                 <url-pattern>/Welcome</url-pattern>
    371         </servlet-mapping>
    372 
    373         <!-- Blocked direct file access URLs.  Files that need to be blocked from
    374                 public access can have a general mapping that goes to a simple controller
    375                 that returns a missing resource page.  This could also be mapped to a
    376                 general controller that simply returns a 404 or 403 error.  Remember that
    377                 a corresponding mapping needs to exist in the dispatcher_servlet.xml
    378                 file as well as here in the servlet mapping.  There are other ways to
    379                 impelment like putting the files within a WEB-INF/* subdirectory.  Can
    380                 also be done via a filter (like the CheckAllowedRequesterIPAddressFilter)
    381                 or via a similar filter etc.
    382         -->
    383         <servlet-mapping>
    384                 <servlet-name>Dispatcher.Servlet</servlet-name>
    385                 <url-pattern>/xml/users/*</url-pattern>
    386         </servlet-mapping>
    387269
    388270
     
    494376        <!-- =============================== D E F A U L T / W E L C O M E   P A G E -->
    495377        <welcome-file-list>
    496                 <welcome-file>Welcome</welcome-file>
     378                <welcome-file>home/Welcome.html</welcome-file>
    497379        </welcome-file-list>
    498380
  • branches/2.1/src/main/webapps/ibisph-view/xml/menu/navigation/QuerySection.xml

    r3596 r3663  
    189189                        <TITLE>My Queries</TITLE>
    190190                        <DESCRIPTION>My saved query definitions, secure modules</DESCRIPTION>
    191                         <LOCAL_URL>user/MyQueries.html</LOCAL_URL>
     191                        <LOCAL_URL>user/selection/List.html</LOCAL_URL>
    192192                </SELECTION>
    193193
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/HTMLContentPage.xslt

    r3599 r3663  
    231231        </xsl:template>
    232232
     233
     234        <xsl:template match="HTML_CONTENT/CONTENT//ibis:HELP" mode="ibis.copy"
     235                ibis:doc="Provides a help balloon button."
     236        >
     237                <xsl:call-template name="Page.helpButton">
     238                        <xsl:with-param name="title" select="TITLE"/>
     239                        <xsl:with-param name="text"  select="TEXT"/>
     240                </xsl:call-template>
     241        </xsl:template>
     242
    233243</xsl:stylesheet>
    234244<!-- ============================= End of File ============================= -->
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/SelectionTree.xslt

    r3612 r3663  
    109109                <xsl:param name="userAuthorities"/>
    110110
    111 <xsl:message select="'userAuthorities:'"/>
    112 <xsl:message select="$userAuthorities"/>
    113 <!--
    114 -->
     111<xsl:message select="concat('Selection Tree - userAuthorities:', $userAuthorities)"/>
     112
    115113                <xsl:for-each select="SELECTION[ not(exists(.//AUTHORITIES)) or (.//AUTHORITIES/AUTHORITY = $userAuthorities/AUTHORITIES/AUTHORITY) ]">
    116114                        <div class="Item{if(position()=last()) then ' End' else ''}">
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/query/definition/detail/Page.xslt

    r3652 r3663  
    6363                <xsl:param name="graphicName"         select="/QUERY_MODULE/REQUEST/GRAPHIC_NAME"/>
    6464
    65                 <form name="form" method="post" action="{$ibis.urlPrefix}save/query/definition/detail">
     65                <form name="form" method="post" action="{$ibis.urlPrefix}save/query/definition">
    6666                        <xsl:call-template name="Selections.userCriteria">
    6767                                <xsl:with-param name="queryModule"         select="/QUERY_MODULE"/>
     
    127127                        <input type="Submit" value=" Save "/> &#160;
    128128                        <input type="Button" value=" Cancel " onclick="location.href='{concat($ibis.urlPrefix, 'query/result', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')}'"/>  &#160;
    129                         <input type="Button" value=" Definition List " onclick="location.href='{concat($ibis.urlPrefix, 'query/definition/List.html')}'"/>  &#160;
     129                        <input type="Button" value=" Definition List " onclick="location.href='{concat($ibis.urlPrefix, 'query/definition/List.html')}'"/>
    130130
    131131                        <input type="hidden" name="modified"/>
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/query/definition/list/Page.xslt

    r3544 r3663  
    1212
    1313        <ibis:doc>
    14                 <name>html/query/definition/list/AlphabeticalPage</name>
    15                 <summary>Produces Alphabetical Query Definition List page</summary>
     14                <name>html/query/definition/list/Page</name>
     15                <summary>Produces Query Definition List page</summary>
    1616                <description>
    1717                        XSLT used to create the Alphabetical Query Definition List page
     
    2525
    2626        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text.">Alphabetical Saved Query Definition List</xsl:param>
    27 
    2827
    2928        <xsl:template name="Page.sectionsContent"
     
    4443        </xsl:template>
    4544
     45
    4646</xsl:stylesheet>
    4747<!-- ============================= End of File ============================= -->
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/query/definition/list/QueryDefinitions.xslt

    r3546 r3663  
    121121       
    122122                        </table></form>
    123                         <div class="RecordCount">Total Definitions Count: <xsl:value-of select="count($queryDefinitions/QUERY_DEFINITION)"/></div>
     123                        <div class="RecordCount">Total Saved Definitions Count: <xsl:value-of select="count($queryDefinitions/QUERY_DEFINITION)"/></div>
    124124
    125125                        <xsl:call-template name="QueryDefinitions.selectionListButtons">
     
    150150                        // <![CDATA[
    151151
    152                         function selectedDefinitionResult()
    153                         {
    154                                 document.form.action = webappPrefix + "query/definition/Result.html";
    155                                 document.form.submit();
    156                         }
    157 
    158                         function selectedDefinitionBuilder()
    159                         {
    160                                 document.form.action = webappPrefix + "query/definition/Builder.html";
    161                                 document.form.submit();
    162                         }
    163 
    164                         function selectedCriteriaBuilder()
    165                         {
    166                                 document.form.action = webappPrefix + "query/criteria/Builder.html";
    167                                 document.form.submit();
     152                        function runSelectedDefinition()
     153                        {
     154                                location.href = webappPrefix + "query/definition/result/" + document.form.queryDefinitionName;
     155                        }
     156
     157                        function editSelectedDefinition()
     158                        {
     159                                location.href = webappPrefix + "query/definition/builder/" + document.form.queryDefinitionName;
     160                        }
     161
     162                        function applySelectedCriteria()
     163                        {
     164                                location.href = webappPrefix + "query/criteria/builder/" + document.form.queryDefinitionName;
    168165                        }
    169166
    170167                        function deleteSelectedDefinition()
    171168                        {
    172                                 var confirmDelete = confirm("Are you sure you want to delete the selected definition? ");
     169                                var confirmDelete = confirm("Are you sure you want to delete the " + document.form.queryDefinitionName + " definition?");
    173170                                if(!confirmDelete) return(false);
    174171                               
    175                                 document.form.action = webappPrefix + "query/definition/delete";
    176                                 document.form.submit();
     172                                location.href = webappPrefix + "delete/query/definition/" + document.form.queryDefinitionName;
    177173                        }
    178174                        // ]]>
     
    256252
    257253                                        <td class="TextAlignCenter QueryDefinitionSelection">
    258                                                 <a href="{$ibis.urlPrefix}query/definition/Result.html?queryDefinitionName={NAME}"
     254                                                <a href="{$ibis.urlPrefix}run/query/definition/{NAME}"
    259255                                                        title="click this link to run the {TITLE} query."
    260256                                                ><img src="{$ibis.urlPrefix}image/run.png" alt="Run" title="Run Query Icon"/></a>
    261257                                        </td>
    262258                                        <td class="TextAlignCenter QueryDefinitionSelection">
    263                                                 <a href="{$ibis.urlPrefix}query/definition/Builder.html?queryDefinitionName={NAME}"
     259                                                <a href="{$ibis.urlPrefix}edit/query/definition/{NAME}"
    264260                                                        title="click this link to edit the {TITLE} query definition."
    265261                                                ><img src="{$ibis.urlPrefix}image/edit.png" alt="Edit" title="Edit Query Definition Icon"/></a>
     
    269265       
    270266                        </table>
    271                         <div class="RecordCount">Total Definitions Count: <xsl:value-of select="count($queryDefinitions/QUERY_DEFINITION)"/></div>
     267                        <div class="RecordCount">Total Saved Definitions Count: <xsl:value-of select="count($queryDefinitions/QUERY_DEFINITION)"/></div>
    272268                </xsl:if>
    273269        </xsl:template>
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/query/module/result/SiteSpecific.xslt

    r3599 r3663  
    116116
    117117                                <SELECTION>
    118                                         <URL><xsl:value-of select="concat($ibis.urlPrefix, 'query/definition/detail/edit')"/></URL>
     118                                        <URL><xsl:value-of select="concat($ibis.urlPrefix, 'save/query/result')"/></URL>
    119119                                        <DESCRIPTION>Click this button to edit the query.</DESCRIPTION>
    120120                                        <TITLE>Save Query Definition</TITLE>
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/user/queryselections/Page.xslt

    r3548 r3663  
    1313        <ibis:doc>
    1414                <name>html/user/queryselections/Page</name>
    15                 <summary>core page templates needed to produce the user's query selections.</summary>
     15                <summary>core "Page" templates needed to produce the user's query selections.</summary>
    1616                <description>
    1717                </description>
     
    2323
    2424        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text.">My Queries List</xsl:param>
     25
    2526
    2627        <xsl:param name="QueryDefinitions"/>
  • branches/2.1/src/main/webapps/ibisph-view/xslt/html/user/queryselections/SiteSpecific.xslt

    r3596 r3663  
    1111
    1212        <ibis:doc>
    13                 <name>html/secure/SiteSpecific</name>
     13                <name>html/user/queryselections/SiteSpecific</name>
    1414                <summary>Provides 'secure' core site specific template overrides</summary>
    1515                <description>
     
    3232        <xsl:template name="Page.standardCSS" ibis:doc="Provides the secure header and other css definitions.">
    3333                <link rel="stylesheet" type="text/css" href="{$ibis.urlPrefix}css/stylesheet.css"/>
    34                 <link rel="stylesheet" type="text/css" href="{$ibis.urlPrefix}css/_secure.css"/>
    3534        </xsl:template>
    3635
Note: See TracChangeset for help on using the changeset viewer.