View Javadoc

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    /* (non-Javadoc)
20     * @see org.apache.cocoon.acting.Action#act(org.apache.cocoon.environment.Redirector, org.apache.cocoon.environment.SourceResolver, java.util.Map, java.lang.String, org.apache.avalon.framework.parameters.Parameters)
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  }