]> source.dussan.org Git - archiva.git/blob
b2c3e031891ea7f9e6589fe20eb736e204310037
[archiva.git] /
1 package org.apache.maven.repository.manager.web.action;\r
2 \r
3 /*\r
4  * Copyright 2005-2006 The Apache Software Foundation.\r
5  *\r
6  * Licensed under the Apache License, Version 2.0 (the "License");\r
7  * you may not use this file except in compliance with the License.\r
8  * You may obtain a copy of the License at\r
9  *\r
10  *      http://www.apache.org/licenses/LICENSE-2.0\r
11  *\r
12  * Unless required by applicable law or agreed to in writing, software\r
13  * distributed under the License is distributed on an "AS IS" BASIS,\r
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
15  * See the License for the specific language governing permissions and\r
16  * limitations under the License.\r
17  */\r
18 \r
19 import com.opensymphony.webwork.interceptor.ParameterAware;\r
20 import com.opensymphony.xwork.ActionSupport;\r
21 import org.apache.maven.repository.configuration.Configuration;\r
22 import org.apache.maven.repository.manager.web.execution.DiscovererExecution;\r
23 import org.apache.maven.repository.manager.web.job.DiscovererScheduler;\r
24 import org.apache.maven.repository.manager.web.utils.ConfigurationManager;\r
25 \r
26 import java.io.File;\r
27 import java.util.HashMap;\r
28 import java.util.Map;\r
29 \r
30 /**\r
31  * This is the Action class of index.jsp, which is the initial page of the web application.\r
32  * It invokes the DiscovererScheduler to set the DiscoverJob in the scheduler.\r
33  *\r
34  * @plexus.component role="com.opensymphony.xwork.Action" role-hint="org.apache.maven.repository.manager.web.action.BaseAction"\r
35  */\r
36 public class BaseAction\r
37     extends ActionSupport\r
38     implements ParameterAware\r
39 {\r
40     /**\r
41      * @plexus.requirement\r
42      */\r
43     private DiscovererExecution execution;\r
44 \r
45     /**\r
46      * @plexus.requirement\r
47      */\r
48     private DiscovererScheduler discovererScheduler;\r
49 \r
50     /**\r
51      * @plexus.requirement\r
52      */\r
53     private ConfigurationManager configManager;\r
54 \r
55     private Map parameters;\r
56 \r
57     public Map getParameters()\r
58     {\r
59         return parameters;\r
60     }\r
61 \r
62     public void setParameters( Map parameters )\r
63     {\r
64         this.parameters = parameters;\r
65     }\r
66 \r
67     /**\r
68      * Method that executes the action\r
69      *\r
70      * @return a String that specifies if the action executed was a success or a failure\r
71      */\r
72     public String execute()\r
73     {\r
74         try\r
75         {\r
76             Configuration config = configManager.getConfiguration();\r
77             Map parameters = new HashMap();\r
78             parameters.put( ConfigurationManager.INDEXPATH, config.getIndexPath() );\r
79             parameters.put( ConfigurationManager.MIN_INDEXPATH, config.getMinimalIndexPath() );\r
80             parameters.put( ConfigurationManager.DISCOVERY_BLACKLIST_PATTERNS, config.getDiscoveryBlackListPatterns() );\r
81             parameters.put( ConfigurationManager.DISCOVER_SNAPSHOTS, Boolean.valueOf( config.isDiscoverSnapshots() ) );\r
82             parameters.put( ConfigurationManager.DISCOVERY_CRON_EXPRESSION, config.getDiscoveryCronExpression() );\r
83             this.parameters = parameters;\r
84 \r
85             //Configuration configuration = new Configuration(); // TODO!\r
86             execution.executeDiscovererIfIndexDoesNotExist( new File( config.getIndexPath() ) );\r
87             discovererScheduler.setSchedule( config.getDiscoveryCronExpression() );\r
88         }\r
89         catch ( Exception e )\r
90         {\r
91             // TODO: better exception handling!\r
92             e.printStackTrace();\r
93             return ERROR;\r
94         }\r
95 \r
96         return SUCCESS;\r
97     }\r
98 \r
99 }\r