Update of /var/cvs/src/org/mmbase/module/tools
In directory james.mmbase.org:/tmp/cvs-serv19247
Modified Files:
ApplicationInstaller.java
Log Message:
fix for MMB-1727
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/module/tools
See also: http://www.mmbase.org/jira/browse/MMB-1727
Index: ApplicationInstaller.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/tools/ApplicationInstaller.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- ApplicationInstaller.java 3 Sep 2008 23:18:01 -0000 1.16
+++ ApplicationInstaller.java 1 Oct 2008 20:07:52 -0000 1.17
@@ -32,7 +32,7 @@
*
* @author Nico Klasens
* @since MMBase-1.8
- * @version $Id: ApplicationInstaller.java,v 1.16 2008/09/03 23:18:01 michiel
Exp $
+ * @version $Id: ApplicationInstaller.java,v 1.17 2008/10/01 20:07:52 michiel
Exp $
*/
class ApplicationInstaller {
@@ -773,7 +773,8 @@
RelDef reldef = mmb.getRelDef();
if (reldef != null) {
- if (reldef.getNumberByName(sname + "/" + dname) == -1) {
+ int rnumber = reldef.getNumberByName(sname );
+ if (rnumber == -1) {
MMObjectNode node = reldef.getNewNode("system");
node.setValue("sname", sname);
node.setValue("dname", dname);
@@ -793,6 +794,18 @@
} else {
return result.error("RelDef (" + sname + "," + dname + ")
could not be installed");
}
+ } else {
+ MMObjectNode node = reldef.getNode(rnumber);
+ String foundDname = node.getStringValue("dname");
+ int foundBuilder = node.getIntValue("builder");
+ if (! foundDname.equals(dname)) {
+ // MMB-1727
+ log.warn("Found already an reldef with this sname ('" +
sname + "') but with different dname ('" + foundDname + "'). So not using " +
sname + "/" + dname + " but " + sname + "/" + foundDname + ".");
+ }
+ if (foundBuilder != builder) {
+ result.error("Role '" + sname + "' already defined with
different builder ('" + foundBuilder + "', while this application required it
to be " + builder);
+ return false;
+ }
}
} else {
return result.error("Can't get reldef builder");
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs