Changeset 2597


Ignore:
Timestamp:
02/20/13 08:20:34 (11 years ago)
Author:
keeloo
Message:

Some more work on replacing the parameter mechanism.

Location:
vlo/branches/vlo-2.13-param/vlo_webapp
Files:
2 added
11 edited
1 moved

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-2.13-param/vlo_webapp/pom.xml

    r2577 r2597  
    3434            </resource>
    3535        </resources>
    36         <testResources>
    37             <testResource>
    38                 <directory>src/test/resources</directory>
    39             </testResource>
    40         </testResources>
    4136        <plugins>
    4237            <plugin>
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/VloApplication.java

    r2590 r2597  
    11package eu.clarin.cmdi.vlo;
    22
    3 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     3import eu.clarin.cmdi.vlo.config.VloConfig;
    44import eu.clarin.cmdi.vlo.dao.SearchResultsDao;
    55import eu.clarin.cmdi.vlo.pages.FacetedSearchPage;
     6import javax.servlet.ServletContext;
    67import org.apache.wicket.protocol.http.WebApplication;
     8import org.springframework.beans.factory.BeanFactory;
     9import org.springframework.context.support.ClassPathXmlApplicationContext;
    710
    811/**
    9  * Application object for your web application. If you want to run this application without deploying, run the Start class.
     12 * Application object for your web application. If you want to run this
     13 * application without deploying, run the Start class.
    1014 *
    1115 */
     
    1317
    1418    private final SearchResultsDao searchResults;
     19   
     20    static VloConfig config; 
     21   
     22    /**
     23     *
     24     */
     25    public VloApplication() {
    1526
    16     static WebAppConfig config;
     27        /**
     28         *
     29         */
     30        ServletContext servletContext;
     31        servletContext = this.getServletContext();
     32        config = VloConfig.setWebApp(servletContext);
     33       
     34        String test;
     35        test = VloConfig.get().getSolrUrl();
     36       
     37        searchResults = new SearchResultsDao();       
     38    }
    1739   
    18     public VloApplication() {
    19         /**
    20          * The new way of doing things. In case of the web application tests:
    21          * just extend this class, and override the constructor by invoking the
    22          * open method of the extended test web application configuration class.
    23          * Also, change the way in which the get methods are being invoked. From
    24          * now on, you only have to invoke config.get ...
    25          */
    26         config = WebAppConfig.open();
    27         // String test;
    28         // test = config.getVloHomeLink();
     40    /**
     41     * Invoke the application in test mode
     42     */
     43    public VloApplication(VloConfig testConfig) {
     44        config = testConfig;
    2945
    3046        searchResults = new SearchResultsDao();
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/config/VloConfig.java

    r2590 r2597  
    33import java.io.UnsupportedEncodingException;
    44import java.net.URLEncoder;
     5import javax.servlet.GenericServlet;
    56import javax.servlet.ServletContext;
    67import org.simpleframework.xml.Element;
     
    6667 */
    6768@Root
    68 public class WebAppConfig extends ConfigFromFile {
     69public class VloConfig extends ConfigFromFile {
    6970
    7071    // create a reference to the application logging
    7172    private final static org.slf4j.Logger LOG =
    72             LoggerFactory.getLogger(WebAppConfig.class);
     73            LoggerFactory.getLogger(VloConfig.class);
    7374
    7475    // connect to the logging framework
     
    8687     * Constructor method
    8788     */
    88     public WebAppConfig() {
     89    public VloConfig() {
    8990        // let the superclass know about the logger defined here
    9091        // ConfigFileParam.logger = webAppConfigLogger;
     
    9293        logger = new WebAppConfigLogger();
    9394
    94         ConfigFilePersister.setLogger(WebAppConfig.logger);
     95        ConfigFilePersister.setLogger(VloConfig.logger);
    9596    }
    9697   
     
    99100     */
    100101    public static final String CONFIG_FILE =
    101             WebAppConfig.class.getResource("/WebAppConfig.xml").getFile();
     102            VloConfig.class.getResource("/WebAppConfig.xml").getFile();
    102103
    103104    /**
     
    126127     * the configuration, that is, by defining a member of type WebAppConfig.
    127128     */
    128     private static WebAppConfig config = null;
    129 
    130     /**
     129    private static VloConfig config = null;
     130
     131    /**
     132     * kj: change the annotation. Instead of opening a context, it is now a
     133     * matter of initialising it. Make a new method for referencing.
     134     *
    131135     * Open a static context of WebAppConfig members, and assign values to
    132136     * them.<br><br>
     
    147151     * @return the web application configuration in a new static context
    148152     */
    149     public static WebAppConfig open() {
     153    public static VloConfig setWebApp(ServletContext context) {
    150154        if (config == null) {
    151155            // the configuration is not there yet; create it now
    152             config = new WebAppConfig();
     156            config = new VloConfig();
    153157        }
    154158
     
    157161         * superclass method
    158162         */
    159         config = (WebAppConfig) read(config);
     163        config = (VloConfig) read(config);
    160164
    161165        /* Contrary to Simple, the servlet context parameters are not retrieved
     
    164168         * Here also invoke a superclass method
    165169         */
    166         config = addServletContext(config);
    167 
     170        config = addServletContext(config, context);
     171
     172        return config;
     173    }
     174
     175    /**
     176     * kj: add comment, much in the same way as the annotation of the WepApp
     177     * method.
     178     *
     179     * @return
     180     */
     181    public static VloConfig WebAppTest() {
     182        if (config == null) {
     183            // the configuration is not there yet; create it now
     184            config = new VloConfig();
     185        }
     186
     187        /**
     188         * get the XML file configuration from the file by invoking the
     189         * superclass method
     190         */
     191        config = (VloConfig) read(config);
     192
     193        return config;
     194    }
     195   
     196    /**
     197     * kj: this is the new get context method
     198     *
     199     * @return
     200     */
     201    public static VloConfig get (){
    168202        return config;
    169203    }
     
    201235     * member parameters.
    202236     */
    203 
    204237    @Element // annotation directive as defined by Simple
    205238    private String vloHomeLink = "";
    206 
     239   
     240    @Element
     241    private String solrUrl = "";
    207242    // In the XML file, the value of the parameter is expanded by Maven.
     243   
    208244    @Element
    209245    private String profileSchemaUrl = "";
     
    291327    public void setVloHomeLink(String link) {
    292328        this.vloHomeLink = link;
     329    }
     330
     331    /**
     332     * Get the SolrUrl parameter<br><br>
     333     *
     334     * For a description of the parameter, refer to the general VLO
     335     * documentation.
     336     *
     337     * @param solrUrl the parameter
     338     */
     339    public String getSolrUrl() {
     340        return solrUrl;
    293341    }
    294342
     
    557605        this.silToISO639CodesUrl = url;
    558606    }
    559    
    560     // reference to the servlet context
    561     private static ServletContext servletContext = null;
    562        
    563     /**
    564      * Set the {@literal servlet} context
    565      *
    566      * Note: this method needs to be invoked before open() is invoked
    567      */
    568     public static void setServletContext (ServletContext context){
    569        
    570         servletContext = context;
    571        
    572         // servletContest can be null
    573     }
    574    
     607           
    575608    /**
    576609     * Add properties of the {@literal servlet's} context<br><br>
     
    583616     * @return the static WebAppConfig member
    584617     */
    585     static WebAppConfig addServletContext(WebAppConfig config) {
     618    static VloConfig addServletContext(VloConfig config, ServletContext context) {
    586619
    587620        // retrieve parameter valies from the servlet context
    588        
    589         if (servletContext == null) {
    590             // no servlet context yet
    591            
    592         } else {
    593             config.solrUrl = servletContext.getInitParameter("solrUrl");
    594         }
     621
     622        config.solrUrl = context.getInitParameter("solrUrl");
    595623
    596624        return config;
     
    602630     * The following defines the members corresponding to {@servlet} context
    603631     * parameters.
    604      */
    605    
    606     private String solrUrl = "";
    607 
    608     /**
    609      * Get methods for the {@literal servlet} context members
    610      */
    611    
    612     /**
    613      * Get the SolrUrl parameter<br><br>
    614      *
    615      * For a description of the parameter, refer to the general VLO
    616      * documentation.
    617      *
    618      * @param solrUrl the parameter
    619      */
    620     public String getSolrUrl() {
    621         return solrUrl;
    622     }
     632     */   
    623633}
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/dao/SolrDao.java

    r2578 r2597  
    1414
    1515import eu.clarin.cmdi.vlo.Configuration;
    16 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     16import eu.clarin.cmdi.vlo.config.VloConfig;
    1717
    1818public class SolrDao {
     
    2222
    2323    public SolrDao() {
    24         String solrUrl = WebAppConfig.open().getSolrUrl();
     24        String solrUrl = VloConfig.get().getSolrUrl();
    2525        try {
    2626            solrServer = new CommonsHttpSolrServer(solrUrl);
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/FacetedSearchPage.java

    r2578 r2597  
    3030import eu.clarin.cmdi.vlo.FacetConstants;
    3131import eu.clarin.cmdi.vlo.Resources;
    32 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     32import eu.clarin.cmdi.vlo.config.VloConfig;
    3333import eu.clarin.cmdi.vlo.dao.AutoCompleteDao;
    3434import fiftyfive.wicket.basic.TruncatedLabel;
     
    5959                public SearchBoxForm(String id, SearchPageQuery query) {
    6060                        super(id, new CompoundPropertyModel<SearchPageQuery>(query));
    61                         add(new ExternalLink("vloHomeLink", WebAppConfig.open().getVloHomeLink()));
     61                        add(new ExternalLink("vloHomeLink", VloConfig.get().getVloHomeLink()));
    6262                        searchBox = new AutoCompleteTextField<String>("searchQuery") {
    6363                                @Override
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/HtmlFormCreator.java

    r2578 r2597  
    99import net.sf.json.JSONObject;
    1010import eu.clarin.cmdi.vlo.Configuration;
    11 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     11import eu.clarin.cmdi.vlo.config.VloConfig;
    1212
    1313/**
     
    3636                }               
    3737               
    38                 String form = "<form method=\"post\" action=\""+WebAppConfig.open().getFederatedContentSearchUrl()+"\"> \n"
     38                String form = "<form method=\"post\" action=\""+VloConfig.get().getFederatedContentSearchUrl()+"\"> \n"
    3939                                + "<fieldset style=\"border:0px;\"> \n"
    4040                                + "\t  <label for=\"query\">CQL query:</label> \n"
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ResourceLinkPanel.java

    r2578 r2597  
    2727import eu.clarin.cmdi.vlo.Configuration;
    2828import eu.clarin.cmdi.vlo.FacetConstants;
    29 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     29import eu.clarin.cmdi.vlo.config.VloConfig;
    3030
    3131import javax.net.ssl.HttpsURLConnection;
     
    8080            if (resourceLink.startsWith(FacetConstants.HANDLE_PREFIX)) {
    8181                String handle = resourceLink.substring(FacetConstants.HANDLE_PREFIX.length());
    82                 result = WebAppConfig.open().getHandleServerUrl() + handle;
     82                result = VloConfig.get().getHandleServerUrl() + handle;
    8383            } else if(resourceLink.startsWith(FacetConstants.URN_NBN_PREFIX)) {
    8484                result = URN_NBN_RESOLVER_URL+resourceLink;
     
    126126            if (resourceLink.startsWith(FacetConstants.HANDLE_PREFIX)) {
    127127                String handle = resourceLink.substring(FacetConstants.HANDLE_PREFIX.length());
    128                 resourceLink = WebAppConfig.open().getHandleServerUrl() + handle;
     128                resourceLink = VloConfig.get().getHandleServerUrl() + handle;
    129129                // Now points to something like http://hdl.handle.net/1839/00-0000-0000-0004-3357-F
    130130                HttpURLConnection con = null;
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/SearchPageQuery.java

    r2578 r2597  
    1414import eu.clarin.cmdi.vlo.Configuration;
    1515import eu.clarin.cmdi.vlo.FacetConstants;
    16 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     16import eu.clarin.cmdi.vlo.config.VloConfig;
    1717
    1818public class SearchPageQuery implements IClusterable {
     
    7474        result.setFacet(true);
    7575        result.setFacetMinCount(1);
    76         result.addFacetField(WebAppConfig.open().getFacetFields());
     76        result.addFacetField(VloConfig.get().getFacetFields());
    7777        return result;
    7878    }
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java

    r2578 r2597  
    5959import eu.clarin.cmdi.vlo.Resources;
    6060import eu.clarin.cmdi.vlo.StringUtils;
    61 import eu.clarin.cmdi.vlo.config.WebAppConfig;
     61import eu.clarin.cmdi.vlo.config.VloConfig;
    6262import eu.clarin.cmdi.vlo.dao.DaoLocator;
    6363
     
    118118            }
    119119            if (linkToOriginalContext.startsWith(FacetConstants.HANDLE_MPI_PREFIX)) {
    120                 result = WebAppConfig.open().getIMDIBrowserUrl(linkToOriginalContext);
     120                result = VloConfig.get().getIMDIBrowserUrl(linkToOriginalContext);
    121121            } else {
    122122                try {
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/resources/WebAppConfig.xml

    r2577 r2597  
    11<webAppConfig>
     2   <!-- <solrUrl>${eu.clarin.cmdi.vlo.solrUrl}</solrUrl> -->
     3   <solrUrl>http://localhost:8084/vlo_solr/</solrUrl>
    24   <vloHomeLink>http://www.clarin.eu/vlo</vloHomeLink>
    35   <profileSchemaUrl>http://catalog.clarin.eu/ds/ComponentRegistry/rest/registry/profiles/</profileSchemaUrl>
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/main/webapp/META-INF/context.xml

    r2590 r2597  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 
    32<!-- VLO application context file
    43
    54solrURL : URL through which the Solr server should be reached<br><br>
    65
    7 Note that the VLO importer needs about this URL to. Because the
     6Note that the VLO importer needs to know about this URL to. Because the
    87importer is not a web application, the value of the parameter should
    98be defined in the ImporterConfig.xml<br><br>
     
    1413
    1514-->
    16 
    1715<Context antiJARLocking="true" path="/vlo">
    18     <Parameter name=solrUrl value="http://localhost:8084/vlo_solr/"/>
     16  <Parameter name="solrUrl" value="http://localhost:8084/vlo_solr/"/>
    1917</Context>
  • vlo/branches/vlo-2.13-param/vlo_webapp/src/test/java/eu/clarin/cmdi/vlo/pages/FacetBoxPanelTest.java

    r2590 r2597  
    1212
    1313import eu.clarin.cmdi.vlo.VloApplication;
     14import eu.clarin.cmdi.vlo.config.VloConfig;
    1415
    1516public class FacetBoxPanelTest {
     17
     18    static VloConfig testConfig;
    1619
    1720    @Before
    1821    public void setUp() {
    1922        WicketTester wicketTester;
    20         wicketTester = new WicketTester(new VloApplication());
     23        testConfig = VloConfig.WebAppTest();
     24        wicketTester = new WicketTester(new VloApplication(testConfig));
    2125    }
    2226
Note: See TracChangeset for help on using the changeset viewer.