Author: michiel
Date: 2010-02-16 00:17:56 +0100 (Tue, 16 Feb 2010)
New Revision: 41051
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMBase.java
Log:
calculating this silly MMEntities here, to avoid the dependencies in
mmbase-utils
Modified: mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMBase.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMBase.java
2010-02-15 23:17:22 UTC (rev 41050)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/core/MMBase.java
2010-02-15 23:17:56 UTC (rev 41051)
@@ -29,6 +29,7 @@
import org.mmbase.util.logging.Logging;
import org.mmbase.util.xml.BuilderReader;
import org.mmbase.util.xml.BuilderWriter;
+import org.mmbase.util.xml.EntityResolver;
import org.mmbase.util.functions.*;
import org.xml.sax.SAXException;
@@ -249,7 +250,33 @@
log.service(e.getMessage());
}
}
+
/**
+ * @since MMBase-2.0
+ */
+ protected void setMMEntities(boolean logEnts) {
+ StringBuilder sb = new StringBuilder();
+ try {
+ Set<Object> added = new HashSet<Object>();
+ EntityResolver.appendEntities(sb,
org.mmbase.framework.Framework.getInstance(), "framework", 0, added);
+ EntityResolver.appendEntities(sb,
org.mmbase.framework.ComponentRepository.getInstance(), "componentRepository",
0, added);
+
+ org.mmbase.module.Module mmbase =
org.mmbase.module.Module.getModule("mmbaseroot", false);
+ if (mmbase != null) {
+ EntityResolver.appendEntities(sb, mmbase, "mmbase", 0, added);
+ }
+ } catch (Throwable ie) {
+ log.warn(ie.getMessage());
+ EntityResolver.setMMEntities(sb.toString());
+ }
+ String ents = sb.toString();
+ if (logEnts) {
+ log.debug("Using entities\n" + ents);
+ }
+ EntityResolver.setMMEntities(ents);
+
+ }
+ /**
* Initalizes the MMBase module. Evaluates the parameters loaded from the
configuration file.
* Sets parameters (authorisation, language), loads the builders, and
starts MultiCasting.
*/
@@ -314,7 +341,7 @@
if (tmp != null && !tmp.equals("")) {
encoding = tmp;
}
- org.mmbase.util.xml.EntityResolver.clearMMEntities(false);
+ setMMEntities(false);
// default locale has to be known before initializing datatypes:
DataTypes.initialize();
@@ -341,7 +368,7 @@
host = localHost;
}
- org.mmbase.util.xml.EntityResolver.clearMMEntities(false);
+ setMMEntities(false);
String machineNameParam = getInitParameter("MACHINENAME");
if (machineNameParam != null) {
@@ -378,7 +405,7 @@
}
log.info("MMBase machine name used for clustering: '" + machineName +
"'");
Logging.setMachineName(machineName);
- org.mmbase.util.xml.EntityResolver.clearMMEntities(false);
+ setMMEntities(false);
log.service("Initializing storage");
initializeStorage();
@@ -403,7 +430,7 @@
}
log.service("Initializing builders:");
- org.mmbase.util.xml.EntityResolver.clearMMEntities(false);
+ setMMEntities(false);
initBuilders();
@@ -440,7 +467,7 @@
return;
}
- org.mmbase.util.xml.EntityResolver.clearMMEntities(false);
+ setMMEntities(false);
// try to load security...
try {
mmbaseCop = new MMBaseCop();
@@ -450,7 +477,7 @@
log.error("MMBase will continue without security.");
log.error("All future security invocations will fail.");
}
- org.mmbase.util.xml.EntityResolver.clearMMEntities(true);
+ setMMEntities(true);
typeRel.readCache();
// signal that MMBase is up and running
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs