1 package org.astrogrid.portal.myspace.acting;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import org.apache.avalon.framework.logger.Logger;
7 import org.apache.avalon.framework.parameters.Parameters;
8 import org.apache.cocoon.acting.AbstractAction;
9 import org.apache.cocoon.environment.ObjectModelHelper;
10 import org.apache.cocoon.environment.Redirector;
11 import org.apache.cocoon.environment.Request;
12 import org.apache.cocoon.environment.Session;
13 import org.apache.cocoon.environment.SourceResolver;
14 import org.astrogrid.portal.utils.acting.ActionUtils;
15 import org.astrogrid.portal.utils.acting.ActionUtilsFactory;
16
17 public class ChangeAction extends AbstractAction {
18
19
20
21
22 public Map act(Redirector redirector, SourceResolver resolver, Map objectModel, String source, Parameters params) {
23 Logger logger = this.getLogger();
24
25 Map sitemapParams = new HashMap();
26 ActionUtils utils = ActionUtilsFactory.getActionUtils();
27
28 Request request = ObjectModelHelper.getRequest(objectModel);
29 Session session = request.getSession(true);
30
31 logger.debug("[act] params: " + params);
32 logger.debug("[act] request: " + request);
33 logger.debug("[act] session: " + session);
34
35 String endPoint = utils.getAnyParameter("myspace-end-point", "http://localhost:8080/myspace", params, request, session);
36 logger.debug("[act] endPoint: " + endPoint);
37
38 try {
39 session.setAttribute("myspace-end-point", endPoint);
40 }
41 catch(Throwable t) {
42 request.setAttribute("myspace-change", "false");
43 request.setAttribute("myspace-change-error-message", t.getLocalizedMessage());
44 sitemapParams = null;
45
46 logger.debug("[act] throwable: " + t.getClass() + ", msg: " + t.getLocalizedMessage());
47 }
48
49 logger.debug("[act] sitemapParams: " + sitemapParams);
50
51 return sitemapParams;
52 }
53
54 }