Author: michiel
Date: 2010-04-13 17:49:00 +0200 (Tue, 13 Apr 2010)
New Revision: 41914

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/module/tools/MMAdmin.java
Log:
Removed mmb member. Removed wait-code in init() method

Modified: mmbase/trunk/core/src/main/java/org/mmbase/module/tools/MMAdmin.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/module/tools/MMAdmin.java        
2010-04-13 14:33:33 UTC (rev 41913)
+++ mmbase/trunk/core/src/main/java/org/mmbase/module/tools/MMAdmin.java        
2010-04-13 15:49:00 UTC (rev 41914)
@@ -19,6 +19,7 @@
 import org.mmbase.cache.*;
 import org.mmbase.core.CoreField;
 import org.mmbase.core.util.Fields;
+import org.mmbase.core.event.*;
 import org.mmbase.datatypes.DataType;
 import org.mmbase.datatypes.DataTypes;
 import org.mmbase.module.Module;
@@ -43,18 +44,12 @@
  * @author Pierre van Rooden
  * @version $Id$
  */
-public class MMAdmin extends ProcessorModule {
+public class MMAdmin extends ProcessorModule implements SystemEventListener {
     private static final Logger log = Logging.getLoggerInstance(MMAdmin.class);
 
     // true: ready (probeCall was called)
     private boolean state = false;
-
     /**
-     * reference to MMBase
-     */
-    private MMBase mmb = null;
-
-    /**
      * @javadoc
      */
     private String lastmsg = "";
@@ -123,6 +118,7 @@
 
     public MMAdmin(String name) {
         super(name);
+        EventManager.getInstance().addEventListener(this);
     }
 
     /**
@@ -139,19 +135,20 @@
         } catch (SecurityException se) {
             log.debug(se);
         }
-        mmb = MMBase.getMMBase();
-        org.mmbase.util.ThreadPools.jobsExecutor.execute(new Runnable() {
-                public void run() {
-                    while (!mmb.getState()) {
-                        try {Thread.sleep(2000);} catch (InterruptedException 
e){ return;}
+    }
+    @Override
+    public void notify(SystemEvent event) {
+        if (event instanceof SystemEvent.Up) {
+            org.mmbase.util.ThreadPools.jobsExecutor.execute(new Runnable() {
+                    public void run() {
+                        try {
+                            MMAdmin.this.probeCall();
+                        } catch (Exception e) {
+                            log.error(e.getMessage(), e);
+                        }
                     }
-                    try {
-                        MMAdmin.this.probeCall();
-                    } catch (Exception e) {
-                        log.error(e.getMessage(), e);
-                    }
-                }
-            });
+                });
+        }
     }
 
     /**
@@ -165,7 +162,7 @@
      */
     @Override
     public MMObjectBuilder getListBuilder(String command, Map<String, ?> 
params) {
-        return new VirtualBuilder(mmb);
+        return new VirtualBuilder(MMBase.getMMBase());
     }
 
     /**
@@ -180,6 +177,7 @@
         if (pos != -1) {
             path = path.substring(pos + 1);
         }
+        MMBase mmb = MMBase.getMMBase();
         return mmb.getBuilder(path);
     }
 
@@ -300,16 +298,16 @@
      */
     @Override
     public boolean process(PageInfo sp, Hashtable<String,Object> cmds, 
Hashtable<String,Object> vars) {
-        String cmdline, token;
+        MMBase mmb = MMBase.getMMBase();
         for (Enumeration<String> h = cmds.keys(); h.hasMoreElements();) {
-            cmdline = h.nextElement();
+            String cmdline = h.nextElement();
             log.debug("cmdline: " + cmdline);
             if (!checkAdmin(sp, cmdline)) {
                 log.warn("Could not find cloud for " + sp + " returning false 
for process " + cmds + "/" + vars);
                 return false;
             }
             StringTokenizer tok = new StringTokenizer(cmdline, "-\n\r");
-            token = tok.nextToken();
+            String token = tok.nextToken();
             if (token.equals("SERVERRESTART")) {
                 lastmsg = "Server restart is not implemented any more";
                 return false;
@@ -320,6 +318,7 @@
                     log.warn("Found empty app-name in " + cmds + " (used key " 
+ cmdline + ")");
                 }
                 try {
+
                     if (new ApplicationInstaller(mmb, 
this).installApplication(appname, -1, null, result, new HashSet<String>(), 
false)) {
                         lastmsg = result.getMessage();
                     } else {
@@ -438,6 +437,7 @@
             if (cmd.equals("VERSION")) {
                 return "" + getVersion(tok.nextToken());
             } else if (cmd.equals("INSTALLEDVERSION")) {
+                MMBase mmb = MMBase.getMMBase();
                 Versions ver = (Versions) mmb.getBuilder("versions");
                 if (ver == null) {
                     log.warn("Versions builder not installed, Can't get to 
apps");
@@ -534,6 +534,7 @@
 
     // determine xmlpath to a builder, provided it is loaded by MMBase.
     private String getXMLPath(String builderName) {
+        MMBase mmb = MMBase.getMMBase();
         MMObjectBuilder bul = mmb.getBuilder(builderName);
         if (bul==null) {
             return "";
@@ -547,6 +548,7 @@
      */
     int getBuilderVersion(String builderName) {
         int version = -1;
+        MMBase mmb = MMBase.getMMBase();
         BuilderReader bul = mmb.getBuilderReader(getXMLPath(builderName) + 
builderName);
         if (bul != null) {
             version = bul.getVersion();
@@ -558,6 +560,7 @@
      * @javadoc
      */
     String getBuilderClass(String builderName) {
+        MMBase mmb = MMBase.getMMBase();
         String className = "";
         BuilderReader bul = mmb.getBuilderReader(getXMLPath(builderName) + 
builderName);
         if (bul != null) {
@@ -630,6 +633,7 @@
      * @javadoc
      */
     String getBuilderDescription(String builderName) {
+        MMBase mmb = MMBase.getMMBase();
         String description = "";
         BuilderReader bul = mmb.getBuilderReader(getXMLPath(builderName) + 
builderName);
         if (bul != null) {
@@ -662,6 +666,7 @@
      * warning, if the 'versions' builder could not be found.
      */
     protected void probeCall() throws SearchQueryException {
+        MMBase mmb = MMBase.getMMBase();
         Versions ver = (Versions)mmb.getBuilder("versions");
         if (ver == null) {
             log.warn("Versions builder not installed, Can't auto deploy apps");
@@ -690,6 +695,7 @@
             log.warn("refused to write application, am in kiosk mode");
             return false;
         }
+        MMBase mmb = MMBase.getMMBase();
         ApplicationReader reader = getApplicationReader(name);
         ApplicationWriter writer = new ApplicationWriter(reader, mmb);
         writer.setIncludeComments(includeComments);
@@ -731,6 +737,7 @@
      */
     Vector<String> getApplicationsList() throws SearchQueryException {
         Vector<String> results = new Vector<String>(); //sigh, synchronized, 
for what?
+        MMBase mmb = MMBase.getMMBase();
         if (mmb == null) {
             log.warn("MMBase not yet initialized, Can't get to apps");
             return results;
@@ -777,6 +784,7 @@
      * @javadoc
      */
     List<String> getBuildersList() {
+        MMBase mmb = MMBase.getMMBase();
         Versions ver = (Versions)mmb.getBuilder("versions");
         List<String> results = new ArrayList<String>();
 
@@ -840,6 +848,7 @@
      * @javadoc
      */
     Vector<String> getFields(String builderName) {
+        MMBase mmb = MMBase.getMMBase();
         Vector<String> results = new Vector<String>();
         BuilderReader bul = mmb.getBuilderReader(getXMLPath(builderName) + 
builderName);
         if (bul != null) {
@@ -890,6 +899,7 @@
      * @javadoc
      */
     Vector<String> getDatabasesList() {
+        MMBase mmb = MMBase.getMMBase();
         Versions ver = (Versions)mmb.getBuilder("versions");
         if (ver == null) {
             log.warn("Versions builder not installed, Can't get to builders");
@@ -1233,6 +1243,8 @@
             log.warn("Refused set DBSize field, am in kiosk mode");
             return;
         }
+        MMBase mmb = MMBase.getMMBase();
+
         String builder = (String)vars.get("BUILDER");
         String fieldname = (String)vars.get("FIELDNAME");
         String value = (String)vars.get("VALUE");
@@ -1270,6 +1282,7 @@
             log.warn("Refused set setDBField field, am in kiosk mode");
             return;
         }
+        MMBase mmb = MMBase.getMMBase();
         String builder = (String)vars.get("BUILDER");
         String fieldname = (String)vars.get("FIELDNAME");
         String value = (String)vars.get("VALUE");
@@ -1309,6 +1322,7 @@
         String fieldname = (String)vars.get("FIELDNAME");
         String value = (String)vars.get("VALUE");
 
+        MMBase mmb = MMBase.getMMBase();
         MMObjectBuilder bul = getBuilder(builder);
         CoreField def = bul.getField(fieldname);
         if (def != null) {
@@ -1373,6 +1387,7 @@
             log.warn("Refused set NotNull field, am in kiosk mode");
             return;
         }
+        MMBase mmb = MMBase.getMMBase();
         String builder = (String)vars.get("BUILDER");
         String fieldname = (String)vars.get("FIELDNAME");
         String value = (String)vars.get("VALUE");
@@ -1407,6 +1422,7 @@
             log.warn("Refused add builder field, am in kiosk mode");
             return;
         }
+        MMBase mmb = MMBase.getMMBase();
         String builder = (String)vars.get("BUILDER");
         MMObjectBuilder bul = getBuilder(builder);
         if (bul != null) {
@@ -1478,7 +1494,7 @@
         String builder = (String) vars.get("BUILDER");
         String fieldname = (String) vars.get("FIELDNAME");
         String value = (String) vars.get("SURE");
-
+        MMBase mmb = MMBase.getMMBase();
         MMObjectBuilder bul = getBuilder(builder);
         if (bul != null && value != null && value.equals("Yes")) {
 
@@ -1567,6 +1583,7 @@
      * @javadoc
      */
     public Vector<String> getNodeCacheEntries() {
+        MMBase mmb = MMBase.getMMBase();
         Vector<String> results = new Vector<String>();
         for (MMObjectNode node :  NodeCache.getCache().values()) {
             results.add("" + 
NodeCache.getCache().getCount(node.getIntegerValue("number")));

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to