shuber      2005/04/05 18:22:51 CEST

  Modified files:
    core/src/java/org/jahia/data/applications ApplicationBean.java 
    core/src/java/org/jahia/engines/shared Application_Field.java 
    core/src/webapp/jsp/jahia/engines/shared application_field.jsp 
  Log:
  Fix problem with shared application names, that were being concatenated every 
time we accessed the ApplicationField engine.
  - Also corrected some other bugs, we had broken shared web apps support in 
HEAD.
  
  Revision  Changes    Path
  1.4       +10 -1     
jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java.diff?r1=1.3&r2=1.4&f=h
  1.11      +17 -9     
jahia/core/src/java/org/jahia/engines/shared/Application_Field.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/shared/Application_Field.java.diff?r1=1.10&r2=1.11&f=h
  1.5       +13 -1     
jahia/core/src/webapp/jsp/jahia/engines/shared/application_field.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/jsp/jahia/engines/shared/application_field.jsp.diff?r1=1.4&r2=1.5&f=h
  
  
  
  Index: ApplicationBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/applications/ApplicationBean.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ApplicationBean.java      13 Aug 2004 17:36:27 -0000      1.3
  +++ ApplicationBean.java      5 Apr 2005 16:22:50 -0000       1.4
  @@ -13,7 +13,7 @@
    * @author Serge Huber
    * @version 1.0
    */
  -public class ApplicationBean implements Serializable, Comparator {
  +public class ApplicationBean implements Serializable, Comparator, Cloneable {
   
       private int ID;
       private int jahiaID;
  @@ -152,4 +152,13 @@
           this.entryPointInstances = entryPointInstances;
       }
   
  +    public Object clone() {
  +        try {
  +            return super.clone();
  +        } catch (CloneNotSupportedException cnse) {
  +            // should never happen as we do support Cloneable in the 
interface
  +            return null;
  +        }
  +    }
  +
   } // end ApplicationBean
  
  
  
  Index: Application_Field.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/shared/Application_Field.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Application_Field.java    16 Mar 2005 13:48:22 -0000      1.10
  +++ Application_Field.java    5 Apr 2005 16:22:50 -0000       1.11
  @@ -145,16 +145,19 @@
           appRoleMembers.put(oldAppID, roleMembersList);
           engineMap.put(APPLICATION_ROLES, appRoleMembers);
   
  -        int separatorPos = fieldValue.indexOf("_");
  -        if (separatorPos != -1) {
  -            String appIDStr = fieldValue.substring(0, separatorPos);
  -            int selectedAppID = Integer.parseInt(appIDStr);
  -            String selectedEntryPointDefName = fieldValue.substring(
  -                separatorPos + 1);
  -            engineMap.put( theField.getDefinition().getName() + 
"_selectedEntryPointDefName", selectedEntryPointDefName);
  -            engineMap.put( theField.getDefinition().getName() + "_appID", 
new Integer(selectedAppID));
  +        if (fieldValue != null) {
  +            int separatorPos = fieldValue.indexOf("_");
  +            if (separatorPos != -1) {
  +                String appIDStr = fieldValue.substring(0, separatorPos);
  +                int selectedAppID = Integer.parseInt(appIDStr);
  +                String selectedEntryPointDefName = fieldValue.substring(
  +                    separatorPos + 1);
  +                engineMap.put(theField.getDefinition().getName() +
  +                              "_selectedEntryPointDefName", 
selectedEntryPointDefName);
  +                engineMap.put(theField.getDefinition().getName() + "_appID",
  +                              new Integer(selectedAppID));
  +            }
           }
  -
           return true;
       }
   
  @@ -375,14 +378,19 @@
               if (app.getVisibleStatus() == 1 &&
                   (app.isShared() || app.getJahiaID() == jParams.getSiteID() ||
                    
ServicesRegistry.getInstance().getAppsShareService().getShare(jParams.getSite(),
 app) != null)) {
  +                /*
                   if (app.getJahiaID() != jParams.getSiteID()) {
                       // it's a shared component
                       JahiaSite ownerSite = ServicesRegistry.getInstance().
                                             
getJahiaSitesService().getSite(app.getJahiaID());
                       if ( ownerSite != null ){
  +                        // we clone because we will change the name on the 
copy
  +                        // and don't want to corrupt the cached entry.
  +                        app = (ApplicationBean) app.clone();
                           
app.setName(app.getName()+"-["+ownerSite.getServerName()+"]");
                       }
                   }
  +                */
                   authAppList.add(app);
               }
           }
  
  
  
  Index: application_field.jsp
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/webapp/jsp/jahia/engines/shared/application_field.jsp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- application_field.jsp     23 Dec 2004 16:19:50 -0000      1.4
  +++ application_field.jsp     5 Apr 2005 16:22:51 -0000       1.5
  @@ -5,6 +5,8 @@
   <%@ page import="org.jahia.data.applications.*" %>
   <%@ page import="org.jahia.data.fields.*" %>
   <%@ page import="org.jahia.params.*" %>
  +<%@ page import="org.jahia.registries.*" %>
  +<%@ page import="org.jahia.services.sites.*" %>
   <%@ page import="org.jahia.services.*" %>
   <%@ page import="org.jahia.services.usermanager.JahiaUser" %>
   <%@ page import="org.jahia.services.usermanager.JahiaGroup" %>
  @@ -124,10 +126,20 @@
                   while (epDefIter.hasNext()) {
                       EntryPointDefinition entryPointDef = 
(EntryPointDefinition) epDefIter.next();
                       String epDefName = entryPointDef.getName();
  +                    String appName = appBean.getName();
  +                    if (appBean.getJahiaID() != jParams.getSiteID()) {
  +                      // it's a shared component
  +                      JahiaSite ownerSite = ServicesRegistry.getInstance().
  +                      getJahiaSitesService().getSite(appBean.getJahiaID());
  +                      if ( ownerSite != null ){
  +                        appName = appName+"-["+ownerSite.getServerName()+"]";
  +                      }
  +                    }
  +
           %><option value='<%=appBean.getID() + "_" + epDefName%>'
               <% if ( (appID == appBean.getID() && 
epDefName.equals(selectedEntryPointDefName)) ||
                       (appID == -1 && counter == 0)) { %> selected <% } %> >
  -            <%=appBean.getName()%>&nbsp;::&nbsp;<%=epDefName%>
  +            <%=appName%>&nbsp;::&nbsp;<%=epDefName%>
           </option><%
                   }
                   counter++;
  

Reply via email to