[jboss-cvs] jboss-portal/core/src/main/org/jboss/portal/core/portlet/management ...

Boleslaw Dawidowicz bdaw at o2.pl
Wed Jul 26 18:03:55 EDT 2006


  User: bdaw    
  Date: 06/07/26 18:03:55

  Modified:    core/src/main/org/jboss/portal/core/portlet/management 
                        PortalObjectManagerBean.java
  Log:
  management - adding portal and preview link
  
  Revision  Changes    Path
  1.41      +85 -15    jboss-portal/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PortalObjectManagerBean.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-portal/core/src/main/org/jboss/portal/core/portlet/management/PortalObjectManagerBean.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -b -r1.40 -r1.41
  --- PortalObjectManagerBean.java	26 Jul 2006 09:43:32 -0000	1.40
  +++ PortalObjectManagerBean.java	26 Jul 2006 22:03:55 -0000	1.41
  @@ -35,6 +35,9 @@
   import org.jboss.portal.core.model.portal.PortalObject;
   import org.jboss.portal.core.model.portal.PortalObjectContainer;
   import org.jboss.portal.core.model.portal.Window;
  +import org.jboss.portal.core.api.Navigation;
  +import org.jboss.portal.core.api.JBossPortalNode;
  +import org.jboss.portal.core.impl.model.portal.PortalObjectImpl;
   import org.jboss.portal.faces.el.DelegatingPropertyResolver;
   import org.jboss.portal.faces.el.PropertyDef;
   import org.jboss.portal.faces.el.TypeDef;
  @@ -57,6 +60,8 @@
   import org.jboss.portal.theme.render.PortalRenderSet;
   import org.jboss.portal.theme.strategy.LayoutStrategy;
   import org.jboss.logging.Logger;
  +import org.jboss.portlet.PortalNode;
  +import org.jboss.portlet.JBossRenderResponse;
   
   import javax.faces.application.FacesMessage;
   import javax.faces.component.UIComponent;
  @@ -155,43 +160,69 @@
         DelegatingPropertyResolver.registerTypeDef(portletDef);
      }
   
  -   /** The selected id. */
  +   /**
  +    * The selected id.
  +    */
      private String selectedId;
   
  -   /** The selected node properties. */
  +   /**
  +    * The selected node properties.
  +    */
      private List selectedProperties;
   
  -   /** The current tab name. */
  +   /**
  +    * The current tab name.
  +    */
      private String selectedPlugin;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private RoleModule roleModule;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private PortalObjectContainer portalObjectContainer;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private InstanceContainer instanceContainer;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private LayoutService layoutService;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private ThemeService themeService;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private AuthorizationDomainRegistry authorizationDomainRegistry;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private PortalAuthorizationManagerFactory portalAuthorizationManagerFactory;
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private AbstractAuthorizationBean auth = new PortalObjectAuthorizationBean();
   
  -   /** . */
  +   /**
  +    * .
  +    */
      private ThemeBean themes = new ThemeBean();
   
  -   /** Compares two windows according to their order. */
  +   /**
  +    * Compares two windows according to their order.
  +    */
      private static final Comparator comparator = new Comparator()
      {
         public int compare(Object o1, Object o2)
  @@ -451,7 +482,7 @@
               Instance i1 = (Instance)o1;
               Instance i2 = (Instance)o2;
   
  -            if (column == null )
  +            if (column == null)
               {
                  return 0;
               }
  @@ -865,7 +896,7 @@
   
         public SelectItem[] getAvailableActions()
         {
  -         return new SelectItem[] {
  +         return new SelectItem[]{
               new SelectItem("view"),
               new SelectItem("viewrecursive"),
               new SelectItem("personalize"),
  @@ -1038,4 +1069,43 @@
      {
         this.portalAuthorizationManagerFactory = portalAuthorizationManagerFactory;
      }
  +
  +   public String getPreviewURL()
  +   {
  +      try
  +      {
  +         //set up the root node
  +         PortalNode root = Navigation.getCurrentNode();
  +         for(;root.getParent() != null;)
  +         {
  +            root = root.getParent();
  +         }
  +
  +         //obtain the path to our node
  +         PortalObjectImpl object = (PortalObjectImpl)getSelectedObject();
  +         String path = object.getObjectNode().getPath();
  +
  +         //iterate to our point
  +         String[] nodes = path.split("\\.");
  +         PortalNode dest = root;
  +
  +         for (int i = 0; i < nodes.length; i++)
  +         {
  +            String s = nodes[i];
  +            dest = dest.getChild(s);
  +         }
  +
  +         //generate url
  +         JBossRenderResponse response = (JBossRenderResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
  +         String url = response.createRenderURL(dest).toString();
  +         return url;
  +      }
  +      catch (Exception e)
  +      {
  +         log.info("Failed to generate object preview link");
  +         e.printStackTrace();
  +      }
  +      //in case it fails let's point to some nice page ;)
  +      return "http://www.jboss.org";
  +   }
   }
  
  
  



More information about the jboss-cvs-commits mailing list