Code cleanup in helma.main package. Made most methods in Server non-static
for the sake of consistency.
This commit is contained in:
		
							parent
							
								
									09d983bd29
								
							
						
					
					
						commit
						a4ba238530
					
				
					 4 changed files with 44 additions and 46 deletions
				
			
		|  | @ -19,8 +19,6 @@ package helma.main; | ||||||
| import helma.framework.core.*; | import helma.framework.core.*; | ||||||
| import helma.util.StringUtils; | import helma.util.StringUtils; | ||||||
| import helma.util.SystemProperties; | import helma.util.SystemProperties; | ||||||
| import org.apache.commons.logging.Log; |  | ||||||
| import org.apache.commons.logging.LogFactory; |  | ||||||
| import org.apache.xmlrpc.XmlRpcHandler; | import org.apache.xmlrpc.XmlRpcHandler; | ||||||
| import org.mortbay.http.*; | import org.mortbay.http.*; | ||||||
| import org.mortbay.http.handler.*; | import org.mortbay.http.handler.*; | ||||||
|  | @ -36,8 +34,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|     private Hashtable descriptors; |     private Hashtable descriptors; | ||||||
|     private Hashtable applications; |     private Hashtable applications; | ||||||
|     private Hashtable xmlrpcHandlers; |     private Hashtable xmlrpcHandlers; | ||||||
|     private int port; |     private int rmiPort; | ||||||
|     private File hopHome; |  | ||||||
|     private SystemProperties props; |     private SystemProperties props; | ||||||
|     private Server server; |     private Server server; | ||||||
|     private long lastModified; |     private long lastModified; | ||||||
|  | @ -45,17 +42,15 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|     /** |     /** | ||||||
|      * Creates a new ApplicationManager object. |      * Creates a new ApplicationManager object. | ||||||
|      * |      * | ||||||
|      * @param hopHome The Helma home directory |  | ||||||
|      * @param props the properties defining the running apps |      * @param props the properties defining the running apps | ||||||
|      * @param server the server instance |      * @param server the server instance | ||||||
|      * @param port The RMI port we're binding to |      * @param port The RMI port we're binding to | ||||||
|      */ |      */ | ||||||
|     public ApplicationManager(File hopHome, SystemProperties props, |     public ApplicationManager(SystemProperties props, | ||||||
|                               Server server, int port) { |                               Server server, int port) { | ||||||
|         this.hopHome = hopHome; |  | ||||||
|         this.props = props; |         this.props = props; | ||||||
|         this.server = server; |         this.server = server; | ||||||
|         this.port = port; |         this.rmiPort = port; | ||||||
|         descriptors = new Hashtable(); |         descriptors = new Hashtable(); | ||||||
|         applications = new Hashtable(); |         applications = new Hashtable(); | ||||||
|         xmlrpcHandlers = new Hashtable(); |         xmlrpcHandlers = new Hashtable(); | ||||||
|  | @ -99,7 +94,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|             } catch (Exception mx) { |             } catch (Exception mx) { | ||||||
|                 Server.getLogger().error("Error checking applications: " + mx); |                 server.getLogger().error("Error checking applications: " + mx); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             lastModified = System.currentTimeMillis(); |             lastModified = System.currentTimeMillis(); | ||||||
|  | @ -163,7 +158,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
| 
 | 
 | ||||||
|             lastModified = System.currentTimeMillis(); |             lastModified = System.currentTimeMillis(); | ||||||
|         } catch (Exception mx) { |         } catch (Exception mx) { | ||||||
|             Server.getLogger().error("Error starting applications: " + mx); |             server.getLogger().error("Error starting applications: " + mx); | ||||||
|             mx.printStackTrace(); |             mx.printStackTrace(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | @ -324,7 +319,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         void start() { |         void start() { | ||||||
|             Server.getLogger().info("Building application " + appName); |             server.getLogger().info("Building application " + appName); | ||||||
| 
 | 
 | ||||||
|             try { |             try { | ||||||
|                 // create the application instance |                 // create the application instance | ||||||
|  | @ -344,13 +339,13 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
| 
 | 
 | ||||||
|                 app.start(); |                 app.start(); | ||||||
|             } catch (Exception x) { |             } catch (Exception x) { | ||||||
|                 Server.getLogger().error("Error creating application " + appName + ": " + x); |                 server.getLogger().error("Error creating application " + appName + ": " + x); | ||||||
|                 x.printStackTrace(); |                 x.printStackTrace(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         void stop() { |         void stop() { | ||||||
|             Server.getLogger().info("Stopping application " + appName); |             server.getLogger().info("Stopping application " + appName); | ||||||
| 
 | 
 | ||||||
|             // unbind application |             // unbind application | ||||||
|             unbind(); |             unbind(); | ||||||
|  | @ -358,9 +353,9 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|             // stop application |             // stop application | ||||||
|             try { |             try { | ||||||
|                 app.stop(); |                 app.stop(); | ||||||
|                 Server.getLogger().info("Stopped application " + appName); |                 server.getLogger().info("Stopped application " + appName); | ||||||
|             } catch (Exception x) { |             } catch (Exception x) { | ||||||
|                 Server.getLogger().error("Couldn't stop app: " + x); |                 server.getLogger().error("Couldn't stop app: " + x); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             descriptors.remove(appName); |             descriptors.remove(appName); | ||||||
|  | @ -369,11 +364,11 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
| 
 | 
 | ||||||
|         void bind() { |         void bind() { | ||||||
|             try { |             try { | ||||||
|                 Server.getLogger().info("Binding application " + appName); |                 server.getLogger().info("Binding application " + appName); | ||||||
| 
 | 
 | ||||||
|                 // bind to RMI server |                 // bind to RMI server | ||||||
|                 if (port > 0) { |                 if (rmiPort > 0) { | ||||||
|                     Naming.rebind("//:" + port + "/" + appName, new RemoteApplication(app)); |                     Naming.rebind("//:" + rmiPort + "/" + appName, new RemoteApplication(app)); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 // bind to Jetty HTTP server |                 // bind to Jetty HTTP server | ||||||
|  | @ -384,7 +379,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                     if (encode) { |                     if (encode) { | ||||||
|                         // FIXME: ContentEncodingHandler is broken/removed in Jetty 4.2 |                         // FIXME: ContentEncodingHandler is broken/removed in Jetty 4.2 | ||||||
|                         // context.addHandler(new ContentEncodingHandler()); |                         // context.addHandler(new ContentEncodingHandler()); | ||||||
|                         Server.getLogger().warn("Warning: disabling response encoding for Jetty 4.2 compatibility"); |                         server.getLogger().warn("Warning: disabling response encoding for Jetty 4.2 compatibility"); | ||||||
|                     } |                     } | ||||||
| 
 | 
 | ||||||
|                     ServletHandler handler = new ServletHandler(); |                     ServletHandler handler = new ServletHandler(); | ||||||
|  | @ -417,7 +412,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                             protectedContent = new File(server.getHopHome(), protectedStaticDir); |                             protectedContent = new File(server.getHopHome(), protectedStaticDir); | ||||||
|                         } |                         } | ||||||
|                         context.setResourceBase(protectedContent.getAbsolutePath()); |                         context.setResourceBase(protectedContent.getAbsolutePath()); | ||||||
|                         Server.getLogger().info("Serving protected static from " + |                         server.getLogger().info("Serving protected static from " + | ||||||
|                                        protectedContent.getAbsolutePath()); |                                        protectedContent.getAbsolutePath()); | ||||||
|                         context.addHandler(new ResourceHandler()); |                         context.addHandler(new ResourceHandler()); | ||||||
|                     } |                     } | ||||||
|  | @ -432,9 +427,9 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                             staticContent = new File(server.getHopHome(), staticDir); |                             staticContent = new File(server.getHopHome(), staticDir); | ||||||
|                         } |                         } | ||||||
| 
 | 
 | ||||||
|                         Server.getLogger().info("Serving static from " + |                         server.getLogger().info("Serving static from " + | ||||||
|                                        staticContent.getAbsolutePath()); |                                        staticContent.getAbsolutePath()); | ||||||
|                         Server.getLogger().info("Mounting static at " + |                         server.getLogger().info("Mounting static at " + | ||||||
|                                        staticMountpoint); |                                        staticMountpoint); | ||||||
| 
 | 
 | ||||||
|                         context = server.http.addContext(staticMountpoint); |                         context = server.http.addContext(staticMountpoint); | ||||||
|  | @ -454,18 +449,18 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                 xmlrpcHandlers.put(xmlrpcHandlerName, app); |                 xmlrpcHandlers.put(xmlrpcHandlerName, app); | ||||||
|                 // app.start(); |                 // app.start(); | ||||||
|             } catch (Exception x) { |             } catch (Exception x) { | ||||||
|                 Server.getLogger().error("Couldn't bind app: " + x); |                 server.getLogger().error("Couldn't bind app: " + x); | ||||||
|                 x.printStackTrace(); |                 x.printStackTrace(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         void unbind() { |         void unbind() { | ||||||
|             Server.getLogger().info("Unbinding application " + appName); |             server.getLogger().info("Unbinding application " + appName); | ||||||
| 
 | 
 | ||||||
|             try { |             try { | ||||||
|                // unbind from RMI server |                // unbind from RMI server | ||||||
|                 if (port > 0) { |                 if (rmiPort > 0) { | ||||||
|                     Naming.unbind("//:" + port + "/" + appName); |                     Naming.unbind("//:" + rmiPort + "/" + appName); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 // unbind from Jetty HTTP server |                 // unbind from Jetty HTTP server | ||||||
|  | @ -490,7 +485,7 @@ public class ApplicationManager implements XmlRpcHandler { | ||||||
|                 // unregister as XML-RPC handler |                 // unregister as XML-RPC handler | ||||||
|                 xmlrpcHandlers.remove(xmlrpcHandlerName); |                 xmlrpcHandlers.remove(xmlrpcHandlerName); | ||||||
|             } catch (Exception x) { |             } catch (Exception x) { | ||||||
|                 Server.getLogger().error("Couldn't unbind app: " + x); |                 server.getLogger().error("Couldn't unbind app: " + x); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -17,7 +17,6 @@ | ||||||
| package helma.main; | package helma.main; | ||||||
| 
 | 
 | ||||||
| import helma.util.*; | import helma.util.*; | ||||||
| import java.util.List; |  | ||||||
| import org.apache.commons.logging.LogFactory; | import org.apache.commons.logging.LogFactory; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -41,7 +40,7 @@ public class HelmaShutdownHook extends Thread { | ||||||
|     public void run() { |     public void run() { | ||||||
|         System.err.println("Shutting down Helma - please stand by..."); |         System.err.println("Shutting down Helma - please stand by..."); | ||||||
| 
 | 
 | ||||||
|         Server.getLogger().info("Shutting down Helma"); |         Server.getServer().getLogger().info("Shutting down Helma"); | ||||||
| 
 | 
 | ||||||
|         appmgr.stopAll(); |         appmgr.stopAll(); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -45,7 +45,7 @@ public class HelmaSocketFactory extends RMISocketFactory { | ||||||
|         try { |         try { | ||||||
|             filter.addAddress(address); |             filter.addAddress(address); | ||||||
|         } catch (IOException x) { |         } catch (IOException x) { | ||||||
|             Server.getLogger().error("Could not add " + address + |             Server.getServer().getLogger().error("Could not add " + address + | ||||||
|                                    " to Socket Filter: invalid address."); |                                    " to Socket Filter: invalid address."); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -40,26 +40,29 @@ import java.util.*; | ||||||
|  * Helma server main class. |  * Helma server main class. | ||||||
|  */ |  */ | ||||||
| public class Server implements IPathElement, Runnable { | public class Server implements IPathElement, Runnable { | ||||||
|  |     // version string | ||||||
|     public static final String version = "1.3.2-pre2 (2003/12/01)"; |     public static final String version = "1.3.2-pre2 (2003/12/01)"; | ||||||
| 
 | 
 | ||||||
|     // server-wide properties |  | ||||||
|     static SystemProperties appsProps; |  | ||||||
|     static SystemProperties dbProps; |  | ||||||
|     static SystemProperties sysProps; |  | ||||||
| 
 |  | ||||||
|     // static server instance |     // static server instance | ||||||
|     private static Server server; |     private static Server server; | ||||||
|     protected static File hopHome = null; | 
 | ||||||
|  |     // Server home directory | ||||||
|  |     protected File hopHome; | ||||||
|  | 
 | ||||||
|  |     // server-wide properties | ||||||
|  |     SystemProperties appsProps; | ||||||
|  |     SystemProperties dbProps; | ||||||
|  |     SystemProperties sysProps; | ||||||
| 
 | 
 | ||||||
|     // our logger |     // our logger | ||||||
|     private static Log logger; |     private Log logger; | ||||||
|     // are we using helma.util.Logging? |     // are we using helma.util.Logging? | ||||||
|     private static boolean helmaLogging; |     private boolean helmaLogging; | ||||||
| 
 | 
 | ||||||
|     // server start time |     // server start time | ||||||
|     public final long starttime; |     public final long starttime; | ||||||
| 
 | 
 | ||||||
|     // if true we only accept RMI and XML-RPC connections from |     // if paranoid == true we only accept RMI and XML-RPC connections from | ||||||
|     // explicitly listed hosts. |     // explicitly listed hosts. | ||||||
|     public boolean paranoid; |     public boolean paranoid; | ||||||
|     private ApplicationManager appManager; |     private ApplicationManager appManager; | ||||||
|  | @ -91,7 +94,7 @@ public class Server implements IPathElement, Runnable { | ||||||
|     public Server(String[] args) { |     public Server(String[] args) { | ||||||
|         starttime = System.currentTimeMillis(); |         starttime = System.currentTimeMillis(); | ||||||
| 
 | 
 | ||||||
|         String homeDir = null; |         String homeDir = System.getProperty("helma.home"); | ||||||
| 
 | 
 | ||||||
|         boolean usageError = false; |         boolean usageError = false; | ||||||
| 
 | 
 | ||||||
|  | @ -350,9 +353,10 @@ public class Server implements IPathElement, Runnable { | ||||||
|         // check if we are running on a Java 2 VM - otherwise exit with an error message |         // check if we are running on a Java 2 VM - otherwise exit with an error message | ||||||
|         String javaVersion = System.getProperty("java.version"); |         String javaVersion = System.getProperty("java.version"); | ||||||
| 
 | 
 | ||||||
|         if ((javaVersion == null) || javaVersion.startsWith("1.1") || |         if ((javaVersion == null) || javaVersion.startsWith("1.2") | ||||||
|                 javaVersion.startsWith("1.0")) { |                                   || javaVersion.startsWith("1.1") | ||||||
|             System.err.println("This version of Helma requires Java 1.2 or greater."); |                                   || javaVersion.startsWith("1.0")) { | ||||||
|  |             System.err.println("This version of Helma requires Java 1.3 or greater."); | ||||||
| 
 | 
 | ||||||
|             if (javaVersion == null) { // don't think this will ever happen, but you never know |             if (javaVersion == null) { // don't think this will ever happen, but you never know | ||||||
|                 System.err.println("Your Java Runtime did not provide a version number. Please update to a more recent version."); |                 System.err.println("Your Java Runtime did not provide a version number. Please update to a more recent version."); | ||||||
|  | @ -503,10 +507,10 @@ public class Server implements IPathElement, Runnable { | ||||||
|                 LocateRegistry.createRegistry(rmiPort.getPort()); |                 LocateRegistry.createRegistry(rmiPort.getPort()); | ||||||
| 
 | 
 | ||||||
|                 // create application manager which binds to the given RMI port |                 // create application manager which binds to the given RMI port | ||||||
|                 appManager = new ApplicationManager(hopHome, appsProps, this, rmiPort.getPort()); |                 appManager = new ApplicationManager(appsProps, this, rmiPort.getPort()); | ||||||
|             } else { |             } else { | ||||||
|                 // create application manager with RMI port 0 |                 // create application manager with RMI port 0 | ||||||
|                 appManager = new ApplicationManager(hopHome, appsProps, this, 0); |                 appManager = new ApplicationManager(appsProps, this, 0); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             if (xmlrpc != null) { |             if (xmlrpc != null) { | ||||||
|  | @ -589,7 +593,7 @@ public class Server implements IPathElement, Runnable { | ||||||
|     /** |     /** | ||||||
|      *  Get a logger to use for output in this server. |      *  Get a logger to use for output in this server. | ||||||
|      */ |      */ | ||||||
|     public static Log getLogger() { |     public Log getLogger() { | ||||||
|         if (logger == null) { |         if (logger == null) { | ||||||
|             if (helmaLogging) { |             if (helmaLogging) { | ||||||
|                 // set up system properties for helma.util.Logging |                 // set up system properties for helma.util.Logging | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue