Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java?rev=697899&view=auto ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java (added) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java Mon Sep 22 10:02:02 2008 @@ -0,0 +1,304 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.eclipse.server; + + +import java.io.File; +import java.io.IOException; +import java.net.Socket; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; +import org.eclipse.jdt.launching.IRuntimeClasspathEntry; +import org.eclipse.jdt.launching.IVMInstall; +import org.eclipse.jdt.launching.JavaRuntime; +import org.eclipse.jst.j2ee.application.internal.operations.EARComponentExportDataModelProvider; +import org.eclipse.jst.j2ee.ejb.datamodel.properties.IEJBComponentExportDataModelProperties; +import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBComponentExportDataModelProvider; +import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; +import org.eclipse.wst.common.frameworks.datamodel.IDataModel; +import org.eclipse.wst.server.core.IModule; +import org.eclipse.wst.server.core.IServer; +import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; + +public class OpenEJBServerBehaviour extends ServerBehaviourDelegate { + + @SuppressWarnings("serial") + public class ServerStoppedException extends Exception { + } + + private class ServerMonitor extends Thread { + + private static final int ONE_SECOND = 1000; + private boolean running = false; + private int adminPort = getAdminPort(); + + @Override + public void run() { + while (true) { + try { + Thread.sleep(ONE_SECOND); + } catch (Exception e) { + } + + try { + check(); + } catch (ServerStoppedException e) { + // break out the loop and stop monitoring + // a restart will start a new monitor + break; + } + } + } + + private void check() throws ServerStoppedException { + // connect to admin interface + try { + Socket socket = new Socket("localhost", adminPort); + socket.close(); + + // update the server status if this is first time we've connected + if (! running) { + running = true; + setState(IServer.STATE_STARTED); + + // republish everything + doFullPublish(); + } + } catch (IOException e) { + if (running) { + // looks like server has started successfully, but has died + setServerState(IServer.STATE_STOPPED); + running = false; + cleanup(); + throw new ServerStoppedException(); + } + // server might not be started yet + } + // if success, server is running + } + + public void terminate() { + this.interrupt(); + } + + public ServerMonitor() { + super(); + } + } + + 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) { + stopServer(); + } + + /* + * @see org.apache.openejb.server.admin.AdminDaemon.service(Socket socket) + */ + private void stopServer() { + // connect to admin interface, and send 'Q' to stop the server + try { + Socket socket = new Socket("localhost", getAdminPort()); + socket.getOutputStream().write('Q'); + socket.close(); + + setState(IServer.STATE_STOPPING); + } catch (IOException e) { + // we're really stuck + } + } + + + @Override + public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException { + 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()); + + 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()); + cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(serverJar)); + + List<String> classPath = new ArrayList<String>(); + for (IRuntimeClasspathEntry entry : cp) { + classPath.add(entry.getMemento()); + } + + workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classPath); + workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false); + } + + private OpenEJBRuntimeDelegate getRuntimeDelegate() { + OpenEJBRuntimeDelegate rd = (OpenEJBRuntimeDelegate) getServer().getRuntime().getAdapter(OpenEJBRuntimeDelegate.class); + if (rd == null) + rd = (OpenEJBRuntimeDelegate) getServer().getRuntime().loadAdapter(OpenEJBRuntimeDelegate.class, new NullProgressMonitor()); + return rd; + } + + public void setState(int state) { + setServerState(state); + } + + public void start(ILaunch launch) { + monitor = new ServerMonitor(); + monitor.start(); + } + + private void doFullPublish() { + Iterator<IModule> iterator = publishedModules.keySet().iterator(); + while (iterator.hasNext()) { + IModule module = (IModule) iterator.next(); + doPublish(module, ADDED); + } + } + + private void cleanup() { + Iterator<IModule> iterator = publishedModules.keySet().iterator(); + while (iterator.hasNext()) { + IModule module = (IModule) iterator.next(); + String publishedFile = publishedModules.get(module); + if (publishedFile != null) { + new File(publishedFile).delete(); + } + } + + publishedModules.clear(); + } + + private void doPublish(IModule module, int kind) { + 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) { + serverDeployer.undeploy(jarFile); + new File(jarFile).delete(); + publishedModules.remove(module); + } + + if (kind == REMOVED) { + return; + } + + // now do the export + String newJarFile = exportModule(module); + + // publish the new export + if (newJarFile != null) { + String path = serverDeployer.deploy(newJarFile); + publishedModules.put(module, path); + } + } + + @Override + protected IStatus publishModule(int kind, IModule[] modules, int deltaKind, IProgressMonitor monitor) { + if (IServer.STATE_STARTED != getServer().getServerState()) { + for (IModule module : modules) { + if (deltaKind == REMOVED) { + String jarFile = publishedModules.get(module); + if (jarFile != null) { + new File(jarFile).delete(); + } + + publishedModules.remove(module); + } else { + publishedModules.put(module, null); + } + } + } else { + for (IModule module : modules) { + doPublish(module, deltaKind); + } + } + + return super.publishModule(kind, modules, deltaKind, monitor); + } + + protected String exportModule(IModule module) { + IDataModel model; + File tempJarFile; + + try { + if ("jst.ear".equals(module.getModuleType().getId())) { + model = DataModelFactory.createDataModel(new EARComponentExportDataModelProvider()); + tempJarFile = File.createTempFile("oejb", ".ear"); + } else { + model = DataModelFactory.createDataModel(new EJBComponentExportDataModelProvider()); + tempJarFile = File.createTempFile("oejb", ".jar"); + } + + model.setProperty(IEJBComponentExportDataModelProperties.PROJECT_NAME, module.getProject().getName()); + model.setProperty(IEJBComponentExportDataModelProperties.ARCHIVE_DESTINATION, tempJarFile.getAbsolutePath()); + model.getDefaultOperation().execute(null, null); + + return tempJarFile.getAbsolutePath(); + } catch (Exception e) { + return null; + } + } +}
Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java?rev=697899&view=auto ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java (added) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java Mon Sep 22 10:02:02 2008 @@ -0,0 +1,249 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +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 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")); + 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; + } + + @Override + public boolean hasComposite() { + return true; + } + + @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 IMessageProvider.NONE == handle.getMessageType(); + } + + +} Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java?rev=697899&view=auto ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java (added) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java Mon Sep 22 10:02:02 2008 @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.eclipse.server; + + +import java.io.File; +import java.lang.reflect.Method; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +import javax.naming.Context; +import javax.naming.InitialContext; + + + +public class ServerDeployer { + private String openejbDir; + private final int ejbdPort; + + public ServerDeployer(String openejbDir, int ejbdPort) { + super(); + this.openejbDir = openejbDir; + this.ejbdPort = ejbdPort; + } + + public String deploy(String filename) { + Object obj = callDeployerBusinessRemote("deploy", filename); + if (obj == null) { + return null; + } + + try { + return (String) obj.getClass().getDeclaredField("jarPath").get(obj); + } catch (Exception e) { + return null; + } + } + + private Object callDeployerBusinessRemote(String methodName, String filename) { + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + try { + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.openejb.client.RemoteInitialContextFactory"); + properties.put(Context.PROVIDER_URL, "ejbd://localhost:" + ejbdPort); + + URL[] urls = getUrls(openejbDir); + URLClassLoader cl = new URLClassLoader(urls, classLoader); + Thread.currentThread().setContextClassLoader(cl); + + InitialContext context = new InitialContext(properties); + Object ref = context.lookup("openejb/DeployerBusinessRemote"); + + Method method = ref.getClass().getMethod(methodName, String.class); + return method.invoke(ref, filename); + } catch (Exception e) { + return null; + } finally { + Thread.currentThread().setContextClassLoader(classLoader); + } + } + + public boolean undeploy(String filename) { + return callDeployerBusinessRemote("undeploy", filename) != null; + } + + private URL[] getUrls(String directory) { + List<URL> urlList = new ArrayList<URL>(); + File openEjbDir = new File(directory + File.separator + "lib"); + File[] files = openEjbDir.listFiles(); + + for (File file : files) { + if (file.getName().endsWith(".jar")) { + try { + urlList.add(file.getAbsoluteFile().toURL()); + } catch (MalformedURLException e) { + } + } + } + + return urlList.toArray(new URL[urlList.size()]); + } +} Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages.properties URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages.properties?rev=697899&view=auto ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages.properties (added) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages.properties Mon Sep 22 10:02:02 2008 @@ -0,0 +1,24 @@ +####################################################################### +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# $Rev: 577442 $ $Date: 2007-09-19 21:43:00 +0100 (Wed, 19 Sep 2007) $ +# +####################################################################### +org.apache.openejb.eclipse.server.runtimeTitle=OpenEJB Runtime +org.apache.openejb.eclipse.server.runtimeDescription=Set configuration options for the OpenEJB runtime +org.apache.openejb.eclipse.server.openejbhomelabel=OpenEJB home directory +org.apache.openejb.eclipse.server.ejbPort=EJB Port Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages_de.properties URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages_de.properties?rev=697899&view=auto ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages_de.properties (added) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/messages_de.properties Mon Sep 22 10:02:02 2008 @@ -0,0 +1,24 @@ +####################################################################### +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# $Rev: 577442 $ $Date: 2007-09-19 21:43:00 +0100 (Wed, 19 Sep 2007) $ +# +####################################################################### +org.apache.openejb.eclipse.server.runtimeTitle=OpenEJB Runtime +org.apache.openejb.eclipse.server.runtimeDescription=Set configuration options for the OpenEJB runtime +org.apache.openejb.eclipse.server.openejbhomelabel=OpenEJB home directory +org.apache.openejb.eclipse.server.ejbPort=EJB Port Added: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/runtime.gif URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/runtime.gif?rev=697899&view=auto ============================================================================== Binary file - no diff available. Propchange: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.apache.openejb.server/src/main/resources/org/apache/openejb/eclipse/server/runtime.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/pom.xml URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/pom.xml?rev=697899&r1=697898&r2=697899&view=diff ============================================================================== --- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/pom.xml (original) +++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/pom.xml Mon Sep 22 10:02:02 2008 @@ -17,141 +17,141 @@ --> <!-- $Rev: 577554 $ $Date: 2007-09-20 06:35:12 +0100 (Thu, 20 Sep 2007) $ --> <project> - <modelVersion>4.0.0</modelVersion> - <groupId>org.apache.openejb</groupId> - <artifactId>eclipse-plugins-parent</artifactId> - <packaging>pom</packaging> - <name>${artifactId}</name> - <parent> - <groupId>org.apache.openejb</groupId> - <artifactId>eclipse-plugins</artifactId> - <version>1.0.0</version> - <relativePath>../pom.xml</relativePath> - </parent> - <build> - <plugins> - <plugin> - <artifactId>maven-clean-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <filesets> - <fileset> - <directory>.</directory> - <includes> - <include>.metadata</include> - </includes> - </fileset> - </filesets> - </configuration> - </plugin> - </plugins> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-eclipse-plugin</artifactId> - <configuration> - <additionalProjectnatures> - <projectnature>org.eclipse.pde.PluginNature</projectnature> - </additionalProjectnatures> - <classpathContainers> - <classpathContainer>org.eclipse.pde.core.requiredPlugins</classpathContainer> - <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> - </classpathContainers> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.geronimo.devtools</groupId> - <artifactId>maven-eclipsepde-plugin</artifactId> - <executions> - <execution> - <id>initialize</id> - <phase>validate</phase> - <goals> - <goal>manifestbundles</goal> - <goal>install</goal> - </goals> - </execution> - <execution> - <id>validate-bundle-classpath</id> - <phase>process-resources</phase> - <goals> - <goal>validatemanifest</goal> - </goals> - <configuration> - <classpathEntriesDir>lib</classpathEntriesDir> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <!-- workaround for bugzilla 147936 --> - <execution> - <id>backup</id> - <phase>process-sources</phase> - <configuration> - <tasks> - <copy file="${basedir}/.classpath" todir="${project.build.directory}" overwrite="false" failonerror="false"/> - <copy file="${basedir}/.project" todir="${project.build.directory}" overwrite="false" failonerror="false"/> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - <execution> - <id>restore</id> - <phase>compile</phase> - <configuration> - <tasks> - <copy file="${project.build.directory}/.classpath" todir="${basedir}" overwrite="true" failonerror="false"/> - <copy file="${project.build.directory}/.project" todir="${basedir}" overwrite="true" failonerror="false"/> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - - </execution> - <!-- /workaround --> - </executions> - </plugin> - <plugin> - <artifactId>maven-clean-plugin</artifactId> - <configuration> - <filesets> - <fileset> - <directory>.</directory> - <includes> - <include>lib</include> - </includes> - </fileset> - </filesets> - </configuration> - </plugin> - </plugins> - </pluginManagement> - </build> - <modules> - <module>org.apache.openejb.branding</module> - <module>org.apache.openejb.helper.annotation</module> - <module>org.apache.openejb.builder</module> - <module>org.apache.openejb.helper.annotation.test</module> - <module>org.eclipse.jst.server.generic.openejb</module> - <module>org.apache.openejb.help</module> - <module>org.apache.openejb.help.nl1</module> - <module>org.apache.openejb.help.nl2</module> - <module>org.apache.openejb.help.nl2a</module> - <module>org.apache.openejb.help.nlBidi</module> - </modules> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.openejb</groupId> + <artifactId>eclipse-plugins-parent</artifactId> + <packaging>pom</packaging> + <name>${artifactId}</name> + <parent> + <groupId>org.apache.openejb</groupId> + <artifactId>eclipse-plugins</artifactId> + <version>1.0.0</version> + <relativePath>../pom.xml</relativePath> + </parent> + <build> + <plugins> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <inherited>false</inherited> + <configuration> + <filesets> + <fileset> + <directory>.</directory> + <includes> + <include>.metadata</include> + </includes> + </fileset> + </filesets> + </configuration> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-eclipse-plugin</artifactId> + <configuration> + <additionalProjectnatures> + <projectnature>org.eclipse.pde.PluginNature</projectnature> + </additionalProjectnatures> + <classpathContainers> + <classpathContainer>org.eclipse.pde.core.requiredPlugins</classpathContainer> + <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> + </classpathContainers> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.geronimo.devtools</groupId> + <artifactId>maven-eclipsepde-plugin</artifactId> + <executions> + <execution> + <id>initialize</id> + <phase>validate</phase> + <goals> + <goal>manifestbundles</goal> + <goal>install</goal> + </goals> + </execution> + <execution> + <id>validate-bundle-classpath</id> + <phase>process-resources</phase> + <goals> + <goal>validatemanifest</goal> + </goals> + <configuration> + <classpathEntriesDir>lib</classpathEntriesDir> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <archive> + <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile> + </archive> + </configuration> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <!-- workaround for bugzilla 147936 --> + <execution> + <id>backup</id> + <phase>process-sources</phase> + <configuration> + <tasks> + <copy file="${basedir}/.classpath" todir="${project.build.directory}" overwrite="false" failonerror="false"/> + <copy file="${basedir}/.project" todir="${project.build.directory}" overwrite="false" failonerror="false"/> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>restore</id> + <phase>compile</phase> + <configuration> + <tasks> + <copy file="${project.build.directory}/.classpath" todir="${basedir}" overwrite="true" failonerror="false"/> + <copy file="${project.build.directory}/.project" todir="${basedir}" overwrite="true" failonerror="false"/> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + + </execution> + <!-- /workaround --> + </executions> + </plugin> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>.</directory> + <includes> + <include>lib</include> + </includes> + </fileset> + </filesets> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + <modules> + <module>org.apache.openejb.branding</module> + <module>org.apache.openejb.helper.annotation</module> + <module>org.apache.openejb.builder</module> + <module>org.apache.openejb.helper.annotation.test</module> + <module>org.apache.openejb.server</module> + <module>org.apache.openejb.help</module> + <module>org.apache.openejb.help.nl1</module> + <module>org.apache.openejb.help.nl2</module> + <module>org.apache.openejb.help.nl2a</module> + <module>org.apache.openejb.help.nlBidi</module> + </modules> </project>
