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()%> :: <%=epDefName%>
+ <%=appName%> :: <%=epDefName%>
</option><%
}
counter++;