Author: jgallimore
Date: Tue Aug 12 16:48:22 2008
New Revision: 685378

URL: http://svn.apache.org/viewvc?rev=685378&view=rev
Log:
OPENEJB-887 added port configuration to wizard, and made this take effect in 
the launch configuration. Also added the java agent, which was missing.

Removed:
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerComposite.java
Modified:
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
    
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java

Modified: 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
 (original)
+++ 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
 Tue Aug 12 16:48:22 2008
@@ -123,27 +123,11 @@
                handle.setMessage("", IMessageProvider.NONE);
        }
 
-       
-
        @Override
        public boolean isComplete() {
                IRuntimeWorkingCopy wc = 
getRuntimeDelegate().getRuntimeWorkingCopy();
         IStatus status = wc.validate(null);
         return status == null || status.getSeverity() != IStatus.ERROR;
        }
-
-
-       @Override
-       public void enter() {
-//             validate();
-       }
-
-
-       @Override
-       public void exit() {
-//             validate();
-       }
-       
-       
        
 }

Modified: 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
 (original)
+++ 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
 Tue Aug 12 16:48:22 2008
@@ -24,12 +24,7 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.server.core.FacetUtil;
 import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.model.ServerDelegate;
 
@@ -97,4 +92,52 @@
        public void modifyModules(IModule[] add, IModule[] remove, 
IProgressMonitor monitor) throws CoreException {
        }
 
+       public void setEJBPort(String port) {
+               setAttribute("org.apache.openejb.eclipse.server.ejbport", port);
+       }
+       
+       public String getEJBPort() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.ejbport", "4201");
+       }
+
+       public void setHTTPEJBPort(String port) {
+               setAttribute("org.apache.openejb.eclipse.server.httpejbport", 
port);
+       }
+       
+       public String getHTTPEJBPort() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.httpejbport", "4204");
+       }
+
+       public void setHSQLPort(String port) {
+               setAttribute("org.apache.openejb.eclipse.server.hsqlport", 
port);
+       }
+       
+       public String getHSQLPort() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.hsqlport", "9001");
+       }
+
+       public void setTelnetPort(String port) {
+               setAttribute("org.apache.openejb.eclipse.server.telnetport", 
port);
+       }
+       
+       public String getTelnetPort() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.telnetport", "4202");
+       }
+
+       public void setAdminPort(String port) {
+               setAttribute("org.apache.openejb.eclipse.server.adminport", 
port);
+       }
+       
+       public String getAdminPort() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.adminport", "4200");
+       }
+
+       public void setConfigFile(String configFile) {
+               setAttribute("org.apache.openejb.eclipse.server.configfile", 
configFile);
+       }
+       
+       public String getConfigFile() {
+               return 
getAttribute("org.apache.openejb.eclipse.server.configfile", "");
+       }
+
 }

Modified: 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
 (original)
+++ 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
 Tue Aug 12 16:48:22 2008
@@ -57,6 +57,7 @@
 
                private static final int ONE_SECOND = 1000;
                private boolean running = false;
+               private int adminPort = getAdminPort();
 
                @Override
                public void run() {
@@ -79,7 +80,7 @@
                private void check() throws ServerStoppedException {
                        // connect to admin interface
                        try {
-                               Socket socket = new Socket("localhost", 4200);
+                               Socket socket = new Socket("localhost", 
adminPort);
                                socket.close();
                                
                                // update the server status if this is first 
time we've connected
@@ -114,6 +115,24 @@
        
        private ServerMonitor monitor;
        private Map<IModule, String> publishedModules = new HashMap<IModule, 
String>();
+
+       private int getAdminPort() {
+               try {
+                       OpenEJBServer openEJBServer = (OpenEJBServer) 
(getServer().getAdapter(OpenEJBServer.class));
+                       return Integer.parseInt(openEJBServer.getAdminPort());
+               } catch (NumberFormatException e) {
+                       return 4200;
+               }
+       }
+
+       private int getEJBDPort() {
+               try {
+                       OpenEJBServer openEJBServer = (OpenEJBServer) 
(getServer().getAdapter(OpenEJBServer.class));
+                       return Integer.parseInt(openEJBServer.getEJBPort());
+               } catch (NumberFormatException e) {
+                       return 4201;
+               }
+       }
        
        @Override
        public void stop(boolean force) {
@@ -126,7 +145,7 @@
        private void stopServer() {
                // connect to admin interface, and send 'Q' to stop the server
                try {
-                       Socket socket = new Socket("localhost", 4200);
+                       Socket socket = new Socket("localhost", getAdminPort());
                        socket.getOutputStream().write('Q');
                        socket.close();
                        
@@ -142,13 +161,24 @@
                
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, 
"org.apache.openejb.cli.Bootstrap");
 
                OpenEJBRuntimeDelegate runtime = getRuntimeDelegate();
-
+               OpenEJBServer openejbServer = (OpenEJBServer) 
(getServer().getAdapter(OpenEJBServer.class));
+               
                IVMInstall vmInstall = runtime.getVMInstall();
                if (vmInstall != null)
                        
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
 JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
 
-               
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
 "start");
-               
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, 
"-Dopenejb.home=" +  getServer().getRuntime().getLocation().toString() /*+ " 
-javaagent:" + runtime.getJavaAgent()*/);
+               String args = " start";
+               if (openejbServer.getConfigFile() != null && 
openejbServer.getConfigFile().length() > 0) {
+                       args += " --conf=\"" + openejbServer.getConfigFile() + 
"\"";
+               }
+               
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
 args);
+               
workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, 
"-Dejbd.port=" + openejbServer.getEJBPort() + 
+                               " -Dhttpejbd.port=" + 
openejbServer.getHTTPEJBPort() +
+                               " -Dhsql.port=" + openejbServer.getHSQLPort() + 
+                               " -Dtelnet.port=" + 
openejbServer.getTelnetPort() + 
+                               " -Dadmin.port=" + openejbServer.getAdminPort() 
+ 
+                               " -Dopenejb.home=" +  
getServer().getRuntime().getLocation().toString() + 
+                               " -javaagent:" + runtime.getJavaAgent());
                
                List<IRuntimeClasspathEntry> cp = new 
ArrayList<IRuntimeClasspathEntry>();
                IPath serverJar = new Path(runtime.getCore());
@@ -201,12 +231,12 @@
        }
        
        private void doPublish(IModule module, int kind) {
-               ServerDeployer serverDeployer = new 
ServerDeployer(getRuntimeDelegate().getRuntime().getLocation().toFile().getAbsolutePath());
+               ServerDeployer serverDeployer = new 
ServerDeployer(getRuntimeDelegate().getRuntime().getLocation().toFile().getAbsolutePath(),
 getEJBDPort());
                
                // if module already published, try an undeploy first, and 
cleanup temp file
                String jarFile = publishedModules.get(module);
                if (jarFile != null) {
-                       boolean undeployed = serverDeployer.undeploy(jarFile);
+                       serverDeployer.undeploy(jarFile);
                        new File(jarFile).delete();
                        publishedModules.remove(module);
                }

Modified: 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
 (original)
+++ 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
 Tue Aug 12 16:48:22 2008
@@ -16,21 +16,132 @@
  */
 package org.apache.openejb.eclipse.server;
 
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.TaskModel;
 import org.eclipse.wst.server.ui.wizard.IWizardHandle;
 import org.eclipse.wst.server.ui.wizard.WizardFragment;
 
-public class OpenEJBServerFragment extends WizardFragment {
+public class OpenEJBServerFragment extends WizardFragment implements 
ModifyListener {
 
        private IWizardHandle handle;
-
+       private Label portLabel;
+       private Text portText;
+       private Label httpEjbPortLabel;
+       private Text httpEjbPort;
+       private Label hsqlPortLabel;
+       private Text hsqlPort;
+       private Label telnetPortLabel;
+       private Text telnetPort;
+       private Label adminPortLabel;
+       private Text adminPort;
+       private Label configFileLabel;
+       private Text configFile;
+       private Button configFileBrowseButton;
+       
        @Override
        public Composite createComposite(Composite parent, IWizardHandle 
handle) {
+               OpenEJBServer server = getServer();
+               
                this.handle = handle;
                handle.setTitle("OpenEJB Server");
                
handle.setImageDescriptor(Activator.getDefault().getImageDescriptor("RUNTIME"));
-               ServerComposite serverComposite = new ServerComposite(parent, 
SWT.NULL);
+               final Composite serverComposite = new Composite(parent, 
SWT.NULL);
+               
+               portLabel = new Label(serverComposite, SWT.NONE);
+               
portLabel.setText(Messages.getString("org.apache.openejb.eclipse.server.ejbPort"));
+               portText = new Text(serverComposite, SWT.BORDER);
+               portText.addModifyListener(this);
+               Label filler5 = new Label(serverComposite, SWT.NONE);
+               httpEjbPortLabel = new Label(serverComposite, SWT.NONE);
+               httpEjbPortLabel.setText("HTTP EJB Port");
+               httpEjbPort = new Text(serverComposite, SWT.BORDER);
+               httpEjbPort.addModifyListener(this);
+               Label filler4 = new Label(serverComposite, SWT.NONE);
+               hsqlPortLabel = new Label(serverComposite, SWT.NONE);
+               hsqlPortLabel.setText("HSQL Port");
+               hsqlPort = new Text(serverComposite, SWT.BORDER);
+               hsqlPort.addModifyListener(this);
+               Label filler3 = new Label(serverComposite, SWT.NONE);
+               telnetPortLabel = new Label(serverComposite, SWT.NONE);
+               telnetPortLabel.setText("Telnet Port");
+               telnetPort = new Text(serverComposite, SWT.BORDER);
+               telnetPort.addModifyListener(this);
+               Label filler2 = new Label(serverComposite, SWT.NONE);
+               adminPortLabel = new Label(serverComposite, SWT.NONE);
+               adminPortLabel.setText("Admin Port");
+               adminPort = new Text(serverComposite, SWT.BORDER);
+               adminPort.addModifyListener(this);
+               Label filler1 = new Label(serverComposite, SWT.NONE);
+               configFileLabel = new Label(serverComposite, SWT.NONE);
+               configFileLabel.setText("Configuration file");
+               configFile = new Text(serverComposite, SWT.BORDER);
+               configFile.addModifyListener(this);
+               configFileBrowseButton = new Button(serverComposite, SWT.NONE);
+               configFileBrowseButton.setText("...");
+               configFileBrowseButton.addSelectionListener(new 
SelectionAdapter() {
+
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               FileDialog dialog = new 
FileDialog(serverComposite.getShell());
+                dialog.setFilterExtensions(new String[] {"*.xml", "*.*"});
+                dialog.setFilterNames(new String[] {"XML files", "All files"});
+                dialog.setText("Selection openejb.xml configuration file");
+                String selectedFile = dialog.open();
+                if (selectedFile != null)
+                    configFile.setText(selectedFile);
+                       }
+                       
+               });
+               GridLayout gridLayout = new GridLayout();
+               gridLayout.numColumns = 3;
+               serverComposite.setLayout(gridLayout);
+
+               String ejbPortNum = "4201";
+               String httpEjbPortNum = "4204";
+               String hsqlPortNum = "9001";
+               String telnetPortNum = "4202";
+               String adminPortNum = "4200";
+               String alternateConfigFile = "";
+               
+               try {
+                       ejbPortNum = server.getEJBPort();
+                       httpEjbPortNum = server.getHTTPEJBPort();
+                       hsqlPortNum = server.getHSQLPort();
+                       telnetPortNum = server.getTelnetPort();
+                       adminPortNum = server.getAdminPort();
+                       alternateConfigFile = server.getConfigFile();
+               } catch (Exception e) {
+               }
+                       
+               portText.setText(ejbPortNum);
+               httpEjbPort.setText(httpEjbPortNum);            
+               hsqlPort.setText(hsqlPortNum);
+               telnetPort.setText(telnetPortNum);
+               adminPort.setText(adminPortNum);
+               configFile.setText(alternateConfigFile);
+               
+               validate();
+               
                return serverComposite;
        }
 
@@ -40,7 +151,99 @@
        }
 
        @Override
+       public void performFinish(IProgressMonitor monitor) throws 
CoreException {
+               super.performFinish(monitor);
+       }
+
+       private OpenEJBServer getServer() {
+               IServerWorkingCopy wc = (IServerWorkingCopy) 
getTaskModel().getObject(TaskModel.TASK_SERVER);
+               if (wc == null) {
+               }
+               
+               OpenEJBServer server = (OpenEJBServer) 
wc.loadAdapter(OpenEJBServer.class, new NullProgressMonitor());
+               return server;
+       }
+
+       private void validate() {
+               if (configFile.getText() != null && 
configFile.getText().length() > 0) {
+                       File config = new File(configFile.getText());
+                       if (! config.exists()) {
+                               handle.setMessage("Directory does not exist", 
IMessageProvider.ERROR);
+                               return;
+                       }
+               }
+               
+               String ejbdPortNum = portText.getText();
+               if (! checkPort(ejbdPortNum)) {
+                       handle.setMessage("Invalid EJBD port", 
IMessageProvider.ERROR);
+                       return;
+               }
+                       
+
+               String httpEjbdPortNum = httpEjbPort.getText();
+               if (! checkPort(httpEjbdPortNum)) {
+                       handle.setMessage("Invalid HTTP EJB port", 
IMessageProvider.ERROR);
+                       return;
+               }
+
+               String hsqlPortNum = hsqlPort.getText();
+               if (! checkPort(hsqlPortNum)) {
+                       handle.setMessage("Invalid HSQL port", 
IMessageProvider.ERROR);
+                       return;
+               }
+
+               String telnetPortNum = telnetPort.getText();
+               if (! checkPort(telnetPortNum)) {
+                       handle.setMessage("Invalid Telnet port", 
IMessageProvider.ERROR);
+                       return;
+               }
+
+               String adminPortNum = adminPort.getText();
+               if (! checkPort(adminPortNum)) {
+                       handle.setMessage("Invalid Admin port", 
IMessageProvider.ERROR);
+                       return;
+               }
+               
+               Set<String> ports = new HashSet<String>();
+               ports.add(ejbdPortNum);
+               ports.add(httpEjbdPortNum);
+               ports.add(hsqlPortNum);
+               ports.add(telnetPortNum);
+               ports.add(adminPortNum);
+               
+               if (ports.size() != 5) {
+                       handle.setMessage("Ports must be unique", 
IMessageProvider.ERROR);
+                       return;
+               }
+
+               OpenEJBServer server = getServer();
+               server.setEJBPort(portText.getText());
+               server.setHTTPEJBPort(httpEjbPort.getText());
+               server.setHSQLPort(hsqlPort.getText());
+               server.setTelnetPort(telnetPort.getText());
+               server.setAdminPort(adminPort.getText());
+               server.setConfigFile(configFile.getText());
+
+               handle.setMessage("", IMessageProvider.NONE);
+       }
+
+       private boolean checkPort(String portNum) {
+               try {
+                       int port = Integer.parseInt(portNum);
+                       return (port > 0 && port < 65535);
+               } catch (NumberFormatException e) {
+                       return false;
+               }
+       }
+
+       public void modifyText(ModifyEvent e) {
+               validate();
+       }
+
+       @Override
        public boolean isComplete() {
-               return true;
+               return IMessageProvider.NONE == handle.getMessageType();
        }
+       
+       
 }

Modified: 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
 (original)
+++ 
openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
 Tue Aug 12 16:48:22 2008
@@ -33,10 +33,12 @@
 
 public class ServerDeployer {
        private String openejbDir;
+       private final int ejbdPort;
        
-       public ServerDeployer(String openejbDir) {
+       public ServerDeployer(String openejbDir, int ejbdPort) {
                super();
                this.openejbDir = openejbDir;
+               this.ejbdPort = ejbdPort;
        }
 
        public String deploy(String filename) {
@@ -57,7 +59,7 @@
                try {
                        Properties properties =  new Properties();
                        properties.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.openejb.client.RemoteInitialContextFactory");
-                       properties.put(Context.PROVIDER_URL, 
"ejbd://localhost:4201");
+                       properties.put(Context.PROVIDER_URL, 
"ejbd://localhost:" + ejbdPort);
                        
                        URL[] urls = getUrls(openejbDir);
                        URLClassLoader cl = new URLClassLoader(urls, 
classLoader);


Reply via email to