IDEMPIERE-4120 Refactor org.adempiere.eclipse.equinox.http.servlet

This commit is contained in:
Heng Sin Low 2019-11-29 17:13:51 +08:00
parent 78c266f772
commit da38704be3
69 changed files with 250 additions and 1003 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,8 +7,8 @@ Eclipse-LazyStart: true
Eclipse-SourceReferences: scm:cvs:pserver:dev.eclipse.org:/cvsroot/rt: Eclipse-SourceReferences: scm:cvs:pserver:dev.eclipse.org:/cvsroot/rt:
org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.servl org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.http.servl
et;tag=v20100503 et;tag=v20100503
Bundle-Activator: org.eclipse.equinox.http.servlet.internal.Activator Bundle-Activator: org.adempiere.eclipse.equinox.http.servlet.Activator
Export-Package: org.eclipse.equinox.http.servlet;version="1.1.0" Export-Package: org.adempiere.eclipse.equinox.http.servlet
Bundle-Version: 7.1.0.qualifier Bundle-Version: 7.1.0.qualifier
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName Bundle-Vendor: %providerName
@ -18,6 +18,7 @@ Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are
Import-Package: javax.servlet;version="2.3", Import-Package: javax.servlet;version="2.3",
javax.servlet.descriptor;version="3.0.0", javax.servlet.descriptor;version="3.0.0",
javax.servlet.http;version="2.3", javax.servlet.http;version="2.3",
org.eclipse.equinox.http.servlet;version="1.2.0",
org.osgi.framework;version="1.3.0", org.osgi.framework;version="1.3.0",
org.osgi.service.http;version="1.2.0" org.osgi.service.http;version="1.2.0"
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2

View File

@ -10,7 +10,7 @@
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.*; import java.util.*;
import org.eclipse.equinox.http.servlet.ExtendedHttpService; import org.eclipse.equinox.http.servlet.ExtendedHttpService;

View File

@ -1,89 +1,89 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2010 Angelo Zerr and others. * Copyright (c) 2010 Angelo Zerr and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html * http://www.eclipse.org/legal/epl-v10.html
* *
* Contributors: * Contributors:
* Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...) * Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...)
* from the Bridge webapp with HTTP Filter. * from the Bridge webapp with HTTP Filter.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.servletbridge; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import java.util.Enumeration; import java.util.Enumeration;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
/** /**
* *
* {@link BridgeServlet} which implements HTTP {@link Filter} to declare "BridgeServlet" as an HTTP Filter (see >=2.3 Servlet spec): * {@link BridgeServlet} which implements HTTP {@link Filter} to declare "BridgeServlet" as an HTTP Filter (see >=2.3 Servlet spec):
* *
* <pre> * <pre>
* <filter id="bridge"> * <filter id="bridge">
* <filter-name>equinoxbridgeservlet</filter-name> * <filter-name>equinoxbridgeservlet</filter-name>
* <filter-class>org.eclipse.equinox.servletbridge.BridgeFilter</filter-class> * <filter-class>org.eclipse.equinox.servletbridge.BridgeFilter</filter-class>
* </filter> * </filter>
* ... * ...
* <filter-mapping> * <filter-mapping>
<filter-name>equinoxbridgeservlet</filter-name> <filter-name>equinoxbridgeservlet</filter-name>
<url-pattern>/*</url-pattern> <url-pattern>/*</url-pattern>
</filter-mapping> </filter-mapping>
* </pre> * </pre>
* *
*/ */
public class BridgeFilter extends BridgeServlet implements Filter { public class BridgeFilter extends BridgeServlet implements Filter {
private static final long serialVersionUID = 1309373924501049438L; private static final long serialVersionUID = 1309373924501049438L;
private ServletConfigAdaptor servletConfig; private ServletConfigAdaptor servletConfig;
public void init(FilterConfig filterConfig) throws ServletException { public void init(FilterConfig filterConfig) throws ServletException {
this.servletConfig = new ServletConfigAdaptor(filterConfig); this.servletConfig = new ServletConfigAdaptor(filterConfig);
super.init(); super.init();
} }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request; HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response; HttpServletResponse resp = (HttpServletResponse) response;
// Call process class with FilterChain. // Call process class with FilterChain.
super.process(req, resp, chain); super.process(req, resp, chain);
} }
public ServletConfig getServletConfig() { public ServletConfig getServletConfig() {
return servletConfig; return servletConfig;
} }
/** /**
* *
* Class which adapt {@link FilterConfig} to a {@link ServletConfig}. * Class which adapt {@link FilterConfig} to a {@link ServletConfig}.
* *
*/ */
private static class ServletConfigAdaptor implements ServletConfig { private static class ServletConfigAdaptor implements ServletConfig {
private FilterConfig filterConfig; private FilterConfig filterConfig;
public ServletConfigAdaptor(FilterConfig filterConfig) { public ServletConfigAdaptor(FilterConfig filterConfig) {
this.filterConfig = filterConfig; this.filterConfig = filterConfig;
} }
public String getInitParameter(String arg0) { public String getInitParameter(String arg0) {
return filterConfig.getInitParameter(arg0); return filterConfig.getInitParameter(arg0);
} }
public Enumeration<String> getInitParameterNames() { public Enumeration<String> getInitParameterNames() {
return filterConfig.getInitParameterNames(); return filterConfig.getInitParameterNames();
} }
public ServletContext getServletContext() { public ServletContext getServletContext() {
return filterConfig.getServletContext(); return filterConfig.getServletContext();
} }
public String getServletName() { public String getServletName() {
return filterConfig.getFilterName(); return filterConfig.getFilterName();
} }
} }
} }

View File

@ -11,15 +11,14 @@
* Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...) * Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...)
* from the Bridge webapp with HTTP Filter. * from the Bridge webapp with HTTP Filter.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.servletbridge; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import org.eclipse.equinox.http.servlet.HttpServiceServlet;
/** /**
* Adapted from org.eclipse.equinox.servletbridge.BridgeServlet
* The BridgeServlet provides a means to bridge the servlet and OSGi * The BridgeServlet provides a means to bridge the servlet and OSGi
* runtimes. This class has 3 main responsibilities: * runtimes. This class has 3 main responsibilities:
* 1) Control the lifecycle of the associated FrameworkLauncher in line with its own lifecycle * 1) Control the lifecycle of the associated FrameworkLauncher in line with its own lifecycle
@ -129,7 +128,7 @@ public class BridgeServlet extends HttpServlet {
} }
private void initDelegate() throws ServletException { private void initDelegate() throws ServletException {
delegate = new HttpServiceServlet(); delegate = new ProxyServlet();
delegate.init(getServletConfig()); delegate.init(getServletConfig());
delegateIsFilter = (delegate instanceof Filter); delegateIsFilter = (delegate instanceof Filter);
} }

View File

@ -10,7 +10,7 @@
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import java.net.URL; import java.net.URL;

View File

@ -0,0 +1,55 @@
/**********************************************************************
* This file is part of iDempiere ERP Open Source *
* http://www.idempiere.org *
* *
* Copyright (C) Contributors *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
* MA 02110-1301, USA. *
* *
* Contributors: *
* - Trek Global Corporation *
* - Heng Sin Low *
**********************************************************************/
package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FilterChainImpl implements FilterChain {
private List<FilterRegistration> matchingFilterRegistrations;
private ServletRegistration registration;
private int filterIndex = 0;
private int filterCount;
public FilterChainImpl(List<FilterRegistration> matchingFilterRegistrations, ServletRegistration registration) {
this.matchingFilterRegistrations = matchingFilterRegistrations;
this.registration = registration;
this.filterCount = matchingFilterRegistrations.size();
}
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
if (filterIndex < filterCount) {
FilterRegistration filterRegistration = (FilterRegistration) matchingFilterRegistrations.get(filterIndex++);
filterRegistration.doFilter((HttpServletRequest) request, (HttpServletResponse) response, this);
return;
}
registration.service((HttpServletRequest) request, (HttpServletResponse) response);
}
}

View File

@ -8,7 +8,7 @@
* Contributors: * Contributors:
* IBM Corporation - initial API and implementation * IBM Corporation - initial API and implementation
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.*; import java.util.*;
import javax.servlet.*; import javax.servlet.*;

View File

@ -1,4 +1,29 @@
package org.eclipse.equinox.http.servlet.internal; /**********************************************************************
* This file is part of iDempiere ERP Open Source *
* http://www.idempiere.org *
* *
* Copyright (C) Contributors *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
* MA 02110-1301, USA. *
* *
* Contributors: *
* - Trek Global Corporation *
* - Heng Sin Low *
**********************************************************************/
package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import javax.servlet.*; import javax.servlet.*;

View File

@ -10,7 +10,7 @@
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.*; import java.util.*;
import javax.servlet.*; import javax.servlet.*;

View File

@ -11,7 +11,7 @@
* with this program; if not, write to the Free Software Foundation, Inc., * * with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/ *****************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Dictionary; import java.util.Dictionary;

View File

@ -11,7 +11,7 @@
* with this program; if not, write to the Free Software Foundation, Inc., * * with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/ *****************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View File

@ -11,7 +11,7 @@
* Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...) * Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...)
* from the Bridge webapp with HTTP Filter. * from the Bridge webapp with HTTP Filter.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.*; import javax.servlet.http.*;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.Enumeration; import java.util.Enumeration;
import javax.servlet.Servlet; import javax.servlet.Servlet;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.File; import java.io.File;
import java.util.*; import java.util.*;

View File

@ -11,7 +11,7 @@
* Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...) * Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...)
* from the Bridge webapp with HTTP Filter. * from the Bridge webapp with HTTP Filter.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import java.security.AccessController; import java.security.AccessController;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
public abstract class Registration { public abstract class Registration {

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import javax.servlet.*; import javax.servlet.*;

View File

@ -11,7 +11,7 @@
* Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...) * Angelo Zerr <angelo.zerr@gmail.com> - give the capability to use resources (JSP, HTML, Servlet...)
* from the Bridge webapp with HTTP Filter. * from the Bridge webapp with HTTP Filter.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.util.*; import java.util.*;
import javax.servlet.*; import javax.servlet.*;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.*; import java.io.*;
import java.lang.reflect.Method; import java.lang.reflect.Method;

View File

@ -9,7 +9,7 @@
* Cognos Incorporated - initial API and implementation * Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements * IBM Corporation - bug fixes and enhancements
*******************************************************************************/ *******************************************************************************/
package org.eclipse.equinox.http.servlet.internal; package org.adempiere.eclipse.equinox.http.servlet;
import java.io.IOException; import java.io.IOException;
import javax.servlet.*; import javax.servlet.*;

View File

@ -1,55 +0,0 @@
package org.eclipse.equinox.http.servlet;
import java.util.Dictionary;
import javax.servlet.Filter;
import javax.servlet.ServletException;
import org.osgi.service.http.*;
/**
* @since 1.1
*/
public interface ExtendedHttpService extends HttpService {
/**
* @param alias name in the URI namespace at which the filter is registered
* @param filter the filter object to register
* @param initparams initialization arguments for the filter or
* <code>null</code> if there are none. This argument is used by the
* filter's <code>FilterConfig</code> object.
* @param context the <code>HttpContext</code> object for the registered
* filter, or <code>null</code> if a default <code>HttpContext</code> is
* to be created and used.
* @throws javax.servlet.ServletException if the filter's <code>init</code>
* method throws an exception, or the given filter object has
* already been registered at a different alias.
* @throws java.lang.IllegalArgumentException if any of the arguments are
* invalid
*/
public void registerFilter(String alias, Filter filter, Dictionary<String, String> initparams, HttpContext context) throws ServletException, NamespaceException;
/**
* Unregisters a previous filter registration done by the
* <code>registerFilter</code> method.
*
* <p>
* After this call, the registered filter will no
* longer be available. The Http Service must call the <code>destroy</code>
* method of the filter before returning.
* <p>
* If the bundle which performed the registration is stopped or otherwise
* "unget"s the Http Service without calling {@link #unregisterFilter} then the Http
* Service must automatically unregister the filter registration. However, the
* <code>destroy</code> method of the filter will not be called in this case since
* the bundle may be stopped.
* {@link #unregisterFilter} must be explicitly called to cause the
* <code>destroy</code> method of the filter to be called. This can be done
* in the <code>BundleActivator.stop</code> method of the
* bundle registering the filter.
*
* @param filter the filter object to unregister
* @throws java.lang.IllegalArgumentException if there is no registration
* for the filter or the calling bundle was not the bundle which
* registered the filter.
*/
public void unregisterFilter(Filter filter);
}

View File

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2008 Cognos Incorporated, IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements
*******************************************************************************/
package org.eclipse.equinox.http.servlet;
import org.eclipse.equinox.http.servlet.internal.ProxyServlet;
/**
* The HttpServiceServlet is the "public" side of a Servlet that when registered (and init() called) in a servlet container
* will in-turn register and provide an OSGi Http Service implementation.
* This class is not meant for extending or even using directly and is purely meant for registering
* in a servlet container.
* @noextend This class is not intended to be subclassed by clients.
*/
public class HttpServiceServlet extends ProxyServlet {
private static final long serialVersionUID = -3647550992964861187L;
}

View File

@ -1,30 +0,0 @@
package org.eclipse.equinox.http.servlet.internal;
import java.io.IOException;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FilterChainImpl implements FilterChain {
private List<FilterRegistration> matchingFilterRegistrations;
private ServletRegistration registration;
private int filterIndex = 0;
private int filterCount;
public FilterChainImpl(List<FilterRegistration> matchingFilterRegistrations, ServletRegistration registration) {
this.matchingFilterRegistrations = matchingFilterRegistrations;
this.registration = registration;
this.filterCount = matchingFilterRegistrations.size();
}
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
if (filterIndex < filterCount) {
FilterRegistration filterRegistration = (FilterRegistration) matchingFilterRegistrations.get(filterIndex++);
filterRegistration.doFilter((HttpServletRequest) request, (HttpServletResponse) response, this);
return;
}
registration.service((HttpServletRequest) request, (HttpServletResponse) response);
}
}

View File

@ -1,36 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2007 Cognos Incorporated, IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements
*******************************************************************************/
package org.eclipse.equinox.http.servlet.internal;
import org.osgi.framework.*;
import org.osgi.service.http.HttpService;
// Factory to create http services. This is because the service needs to be customized for each bundle in order to implement the default resource lookups.
public class HttpServiceFactory implements ServiceFactory<HttpService> {
private ProxyServlet proxy;
public HttpServiceFactory(ProxyServlet proxy) {
this.proxy = proxy;
}
public HttpService getService(Bundle bundle, ServiceRegistration<HttpService> registration) {
return new HttpServiceImpl(bundle, proxy);
}
public void ungetService(Bundle bundle, ServiceRegistration<HttpService> registration, HttpService service) {
((HttpServiceImpl) service).shutdown();
}
}

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.adempiere.eclipse.equinox.http.servletbridge</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -1,3 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.release=enabled

View File

@ -1,4 +0,0 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,4 +0,0 @@
#Fri Dec 24 14:43:16 MYT 2010
eclipse.preferences.version=1
pluginProject.extensions=false
resolve.requirebundle=false

View File

@ -1,20 +0,0 @@
Manifest-Version: 1.0
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=11))"
Bundle-Name: %bundleName
Bundle-SymbolicName: org.adempiere.eclipse.equinox.http.servletbridge;singleton:=true
Eclipse-SourceReferences: scm:cvs:pserver:dev.eclipse.org:/cvsroot/rt:
org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.http.serv
letbridge;tag=v20100503
Bundle-Activator: org.eclipse.equinox.http.servletbridge.internal.Acti
vator
Bundle-Version: 7.1.0.qualifier
Import-Package: javax.servlet;version="2.3",javax.servlet.http;version
="2.3",org.eclipse.equinox.http.servlet;version="1.0.0",org.eclipse.e
quinox.servletbridge;version="1.0.0",org.osgi.framework;version="1.3.
0",org.osgi.service.http;version="1.2.0"
Bundle-ManifestVersion: 2
Bundle-ClassPath: .
Automatic-Module-Name: org.adempiere.eclipse.equinox.http.servletbridge

View File

@ -1,28 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
</head>
<body lang="EN-US">
<h2>About This Content</h2>
<p>January 30, 2007</p>
<h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
</body>
</html>

View File

@ -1,6 +0,0 @@
bin.includes = META-INF/,\
plugin.properties,\
.
javacErrors.. = -assertIdentifier,-enumIdentifier
output.. = target/classes/
source.. = src/

View File

@ -1,4 +0,0 @@
##Source Bundle Localization
#Thu Jun 24 08:29:00 EDT 2010
bundleName=Servletbridge Http Service Source
providerName=Eclipse.org - Equinox

View File

@ -1,12 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.idempiere</groupId>
<artifactId>org.idempiere.parent</artifactId>
<version>7.1.0-SNAPSHOT</version>
<relativePath>../org.idempiere.parent/pom.xml</relativePath>
</parent>
<artifactId>org.adempiere.eclipse.equinox.http.servletbridge</artifactId>
<packaging>eclipse-plugin</packaging>
</project>

View File

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2007 Cognos Incorporated, IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Cognos Incorporated - initial API and implementation
* IBM Corporation - bug fixes and enhancements
*******************************************************************************/
package org.eclipse.equinox.http.servletbridge.internal;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
public void start(BundleContext context) throws Exception {
}
public void stop(BundleContext context) throws Exception {
}
}

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.adempiere.eclipse.equinox.servletbridge</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="">
<attributes>
<attribute name="provider" value="org.eclipse.wst.jsdt.web.core.internal.project.ModuleSourcePathProvider"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -1,8 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.release=enabled

View File

@ -1,4 +0,0 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,4 +0,0 @@
#Fri Dec 24 14:44:01 MYT 2010
eclipse.preferences.version=1
pluginProject.extensions=false
resolve.requirebundle=false

View File

@ -1 +0,0 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -1,18 +0,0 @@
Manifest-Version: 1.0
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=11))"
Bundle-Name: %bundleName
Bundle-SymbolicName: org.adempiere.eclipse.equinox.servletbridge;singleton:=true
Eclipse-SourceReferences: scm:cvs:pserver:dev.eclipse.org:/cvsroot/rt:
org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.servletbr
idge;tag=v20100503
Bundle-Version: 7.1.0.qualifier
Export-Package: org.eclipse.equinox.servletbridge;version="1.1.0"
Import-Package: javax.servlet;version="2.3.0",
javax.servlet.http;version="2.3.0",
org.eclipse.equinox.http.servlet;version="1.1.0"
Bundle-ManifestVersion: 2
Bundle-ClassPath: .
Automatic-Module-Name: org.adempiere.eclipse.equinox.servletbridge

View File

@ -1,28 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
</head>
<body lang="EN-US">
<h2>About This Content</h2>
<p>January 30, 2007</p>
<h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
</body>
</html>

View File

@ -1,6 +0,0 @@
bin.includes = META-INF/,\
plugin.properties,\
.
javacErrors.. = -assertIdentifier,-enumIdentifier
output.. = target/classes/
source.. = src/

View File

@ -1,4 +0,0 @@
##Source Bundle Localization
#Thu Jun 24 08:29:00 EDT 2010
bundleName=Servletbridge Source
providerName=Eclipse.org - Equinox

View File

@ -1,12 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.idempiere</groupId>
<artifactId>org.idempiere.parent</artifactId>
<version>7.1.0-SNAPSHOT</version>
<relativePath>../org.idempiere.parent/pom.xml</relativePath>
</parent>
<artifactId>org.adempiere.eclipse.equinox.servletbridge</artifactId>
<packaging>eclipse-plugin</packaging>
</project>

View File

@ -1,391 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
/**
* The java.net.URLClassLoader class allows one to load resources from arbitrary URLs and in particular is optimized to handle
* "jar" URLs. Unfortunately for jar files this optimization ends up holding the file open which ultimately prevents the file from
* being deleted or update until the VM is shutdown.
*
* The CloseableURLClassLoader is meant to replace the URLClassLoader and provides an additional method to allow one to "close" any
* resources left open. In the current version the CloseableURLClassLoader will only ensure the closing of jar file resources. The
* jar handling behavior in this class will also provides a construct to allow one to turn off jar file verification in performance
* sensitive situations where the verification us not necessary.
*
* also see https://bugs.eclipse.org/bugs/show_bug.cgi?id=190279
*/
package org.eclipse.equinox.servletbridge;
import java.io.*;
import java.net.*;
import java.security.*;
import java.util.*;
import java.util.jar.*;
import java.util.jar.Attributes.Name;
public class CloseableURLClassLoader extends URLClassLoader {
static final String DOT_CLASS = ".class"; //$NON-NLS-1$
static final String BANG_SLASH = "!/"; //$NON-NLS-1$
static final String JAR = "jar"; //$NON-NLS-1$
// @GuardedBy("loaders")
final ArrayList<CloseableJarFileLoader> loaders = new ArrayList<CloseableJarFileLoader>(); // package private to avoid synthetic access.
// @GuardedBy("loaders")
private final ArrayList<URL> loaderURLs = new ArrayList<URL>(); // note: protected by loaders
// @GuardedBy("loaders")
boolean closed = false; // note: protected by loaders, package private to avoid synthetic access.
private final AccessControlContext context;
private final boolean verifyJars;
private static class CloseableJarURLConnection extends JarURLConnection {
private final JarFile jarFile;
// @GuardedBy("this")
private JarEntry entry;
public CloseableJarURLConnection(URL url, JarFile jarFile) throws MalformedURLException {
super(url);
this.jarFile = jarFile;
}
public void connect() throws IOException {
internalGetEntry();
}
private synchronized JarEntry internalGetEntry() throws IOException {
if (entry != null)
return entry;
entry = jarFile.getJarEntry(getEntryName());
if (entry == null)
throw new FileNotFoundException(getEntryName());
return entry;
}
public InputStream getInputStream() throws IOException {
return jarFile.getInputStream(internalGetEntry());
}
/**
* @throws IOException
* Documented to avoid warning
*/
public JarFile getJarFile() throws IOException {
return jarFile;
}
public JarEntry getJarEntry() throws IOException {
return internalGetEntry();
}
}
private static class CloseableJarURLStreamHandler extends URLStreamHandler {
private final JarFile jarFile;
public CloseableJarURLStreamHandler(JarFile jarFile) {
this.jarFile = jarFile;
}
protected URLConnection openConnection(URL u) throws IOException {
return new CloseableJarURLConnection(u, jarFile);
}
protected void parseURL(URL u, String spec, int start, int limit) {
setURL(u, JAR, null, 0, null, null, spec.substring(start, limit), null, null);
}
}
private static class CloseableJarFileLoader {
private final JarFile jarFile;
private final Manifest manifest;
private final CloseableJarURLStreamHandler jarURLStreamHandler;
private final String jarFileURLPrefixString;
public CloseableJarFileLoader(File file, boolean verify) throws IOException {
this.jarFile = new JarFile(file, verify);
this.manifest = jarFile.getManifest();
this.jarURLStreamHandler = new CloseableJarURLStreamHandler(jarFile);
this.jarFileURLPrefixString = file.toURI().toURL().toString() + BANG_SLASH;
}
public URL getURL(String name) {
if (jarFile.getEntry(name) != null)
try {
return new URL(JAR, null, -1, jarFileURLPrefixString + name, jarURLStreamHandler);
} catch (MalformedURLException e) {
// ignore
}
return null;
}
public Manifest getManifest() {
return manifest;
}
public void close() {
try {
jarFile.close();
} catch (IOException e) {
// ignore
}
}
}
/**
* @param urls the array of URLs to use for loading resources
* @see URLClassLoader
*/
public CloseableURLClassLoader(URL[] urls) {
this(urls, ClassLoader.getSystemClassLoader(), true);
}
/**
* @param urls the URLs from which to load classes and resources
* @param parent the parent class loader used for delegation
* @see URLClassLoader
*/
public CloseableURLClassLoader(URL[] urls, ClassLoader parent) {
this(excludeFileJarURLS(urls), parent, true);
}
/**
* @param urls the URLs from which to load classes and resources
* @param parent the parent class loader used for delegation
* @param verifyJars flag to determine if jar file verification should be performed
* @see URLClassLoader
*/
public CloseableURLClassLoader(URL[] urls, ClassLoader parent, boolean verifyJars) {
super(excludeFileJarURLS(urls), parent);
this.context = AccessController.getContext();
this.verifyJars = verifyJars;
for (int i = 0; i < urls.length; i++) {
if (isFileJarURL(urls[i])) {
loaderURLs.add(urls[i]);
safeAddLoader(urls[i]);
}
}
}
// @GuardedBy("loaders")
private void safeAddLoader(URL url) {
String path = url.getPath();
File file = new File(path);
if (file.exists()) {
try {
loaders.add(new CloseableJarFileLoader(file, verifyJars));
} catch (IOException e) {
// ignore
}
}
}
private static URL[] excludeFileJarURLS(URL[] urls) {
ArrayList<URL> urlList = new ArrayList<URL>();
for (int i = 0; i < urls.length; i++) {
if (!isFileJarURL(urls[i]))
urlList.add(urls[i]);
}
return (URL[]) urlList.toArray(new URL[urlList.size()]);
}
private static boolean isFileJarURL(URL url) {
if (!url.getProtocol().equals("file")) //$NON-NLS-1$
return false;
String path = url.getPath();
if (path != null && path.endsWith("/")) //$NON-NLS-1$
return false;
return true;
}
/* (non-Javadoc)
* @see java.net.URLClassLoader#findClass(java.lang.String)
*/
protected Class<?> findClass(final String name) throws ClassNotFoundException {
try {
Class<?> clazz = (Class<?>) AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
public Object run() throws ClassNotFoundException {
String resourcePath = name.replace('.', '/') + DOT_CLASS;
CloseableJarFileLoader loader = null;
URL resourceURL = null;
synchronized (loaders) {
if (closed)
return null;
for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
loader = iterator.next();
resourceURL = loader.getURL(resourcePath);
if (resourceURL != null)
break;
}
}
if (resourceURL != null) {
try {
return defineClass(name, resourceURL, loader.getManifest());
} catch (IOException e) {
throw new ClassNotFoundException(name, e);
}
}
return null;
}
}, context);
if (clazz != null)
return clazz;
} catch (PrivilegedActionException e) {
throw (ClassNotFoundException) e.getException();
}
return super.findClass(name);
}
// package private to avoid synthetic access.
Class<?> defineClass(String name, URL resourceURL, Manifest manifest) throws IOException {
JarURLConnection connection = (JarURLConnection) resourceURL.openConnection();
int lastDot = name.lastIndexOf('.');
if (lastDot != -1) {
String packageName = name.substring(0, lastDot + 1);
Package pkg = getPackage(packageName);
if (pkg != null) {
checkForSealedPackage(pkg, packageName, manifest, connection.getJarFileURL());
} else {
definePackage(packageName, manifest, connection.getJarFileURL());
}
}
JarEntry entry = connection.getJarEntry();
byte[] bytes = new byte[(int) entry.getSize()];
DataInputStream is = null;
try {
is = new DataInputStream(connection.getInputStream());
is.readFully(bytes, 0, bytes.length);
CodeSource cs = new CodeSource(connection.getJarFileURL(), entry.getCertificates());
return defineClass(name, bytes, 0, bytes.length, cs);
} finally {
if (is != null)
try {
is.close();
} catch (IOException e) {
// ignore
}
}
}
private void checkForSealedPackage(Package pkg, String packageName, Manifest manifest, URL jarFileURL) {
if (pkg.isSealed() && !pkg.isSealed(jarFileURL))
throw new SecurityException("The package '" + packageName + "' was previously loaded and is already sealed."); //$NON-NLS-1$ //$NON-NLS-2$
String entryPath = packageName.replace('.', '/') + "/"; //$NON-NLS-1$
Attributes entryAttributes = manifest.getAttributes(entryPath);
String sealed = null;
if (entryAttributes != null)
sealed = entryAttributes.getValue(Name.SEALED);
if (sealed == null) {
Attributes mainAttributes = manifest.getMainAttributes();
if (mainAttributes != null)
sealed = mainAttributes.getValue(Name.SEALED);
}
if (Boolean.valueOf(sealed).booleanValue())
throw new SecurityException("The package '" + packageName + "' was previously loaded unsealed. Cannot seal package."); //$NON-NLS-1$ //$NON-NLS-2$
}
/* (non-Javadoc)
* @see java.net.URLClassLoader#findResource(java.lang.String)
*/
public URL findResource(final String name) {
URL url = (URL) AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
synchronized (loaders) {
if (closed)
return null;
for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
CloseableJarFileLoader loader = iterator.next();
URL resourceURL = loader.getURL(name);
if (resourceURL != null)
return resourceURL;
}
}
return null;
}
}, context);
if (url != null)
return url;
return super.findResource(name);
}
/* (non-Javadoc)
* @see java.net.URLClassLoader#findResources(java.lang.String)
*/
public Enumeration<URL> findResources(final String name) throws IOException {
final List<URL> resources = new ArrayList<URL>();
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
synchronized (loaders) {
if (closed)
return null;
for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
CloseableJarFileLoader loader = iterator.next();
URL resourceURL = loader.getURL(name);
if (resourceURL != null)
resources.add(resourceURL);
}
}
return null;
}
}, context);
Enumeration<URL> e = super.findResources(name);
while (e.hasMoreElements())
resources.add(e.nextElement());
return Collections.enumeration(resources);
}
/**
* The "close" method is called when the class loader is no longer needed and we should close any open resources.
* In particular this method will close the jar files associated with this class loader.
*/
public void close() {
synchronized (loaders) {
if (closed)
return;
for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
CloseableJarFileLoader loader = iterator.next();
loader.close();
}
closed = true;
}
}
/* (non-Javadoc)
* @see java.net.URLClassLoader#addURL(java.net.URL)
*/
protected void addURL(URL url) {
synchronized (loaders) {
if (isFileJarURL(url)) {
if (closed)
throw new IllegalStateException("Cannot add url. CloseableURLClassLoader is closed."); //$NON-NLS-1$
loaderURLs.add(url);
safeAddLoader(url);
return;
}
}
super.addURL(url);
}
/* (non-Javadoc)
* @see java.net.URLClassLoader#getURLs()
*/
public URL[] getURLs() {
List<URL> result = new ArrayList<URL>();
synchronized (loaders) {
result.addAll(loaderURLs);
}
result.addAll(Arrays.asList(super.getURLs()));
return (URL[]) result.toArray(new URL[result.size()]);
}
}

View File

@ -3,7 +3,7 @@
<booleanAttribute key="append.args" value="true"/> <booleanAttribute key="append.args" value="true"/>
<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/> <stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
<booleanAttribute key="askclear" value="false"/> <booleanAttribute key="askclear" value="false"/>
<booleanAttribute key="automaticAdd" value="true"/> <booleanAttribute key="automaticAdd" value="false"/>
<booleanAttribute key="automaticValidate" value="true"/> <booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bootstrap" value=""/> <stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/> <stringAttribute key="checked" value="[NONE]"/>
@ -12,7 +12,6 @@
<booleanAttribute key="clearwslog" value="false"/> <booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/> <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/> <booleanAttribute key="default" value="false"/>
<stringAttribute key="deselected_workspace_plugins" value="org.adempiere.base.callout,org.adempiere.base.process,org.adempiere.eclipse.equinox.http.servlet,org.adempiere.eclipse.equinox.http.servletbridge,org.adempiere.eclipse.equinox.servletbridge,org.adempiere.payment.processor,org.adempiere.pipo,org.adempiere.pipo.handlers,org.adempiere.plugin.utils,org.adempiere.replication,org.adempiere.replication.server,org.adempiere.report.jasper,org.adempiere.report.jasper.library,org.adempiere.report.jasper.swing,org.adempiere.report.jasper.webapp,org.adempiere.server,org.adempiere.ui,org.adempiere.ui.swing,org.adempiere.ui.zk,org.adempiere.webstore,org.adempiere.webstore.resource,org.adempiere.webstore.servlet,org.compiere.db.oracle.provider,org.idempiere.felix.webconsole,org.idempiere.fitnesse.fixture,org.idempiere.fitnesse.server,org.idempiere.fitrecorder,org.idempiere.hazelcast.service,org.idempiere.javadoc,org.idempiere.ui.zk.selenium,org.idempiere.webservices,org.idempiere.zk.extra"/>
<booleanAttribute key="includeOptional" value="false"/> <booleanAttribute key="includeOptional" value="false"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/> <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@ -34,8 +33,8 @@
<stringAttribute key="pde.version" value="3.3"/> <stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/> <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/> <booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="bcprov@default:default,com.diffplug.osgi.extension.sun.misc@default:false,com.google.zxing.core@default:default,com.ibm.icu*63.1.0.v20181030-1705@default:default,com.itextpdf@default:default,com.jaspersoft.studio.bundles.barbecue@default:default,com.sun.activation.jakarta.activation@default:default,com.sun.mail.smtp@default:default,groovy-ant@default:false,groovy-cli-commons@default:false,groovy-cli-picocli@default:false,groovy-console@default:false,groovy-datetime@default:false,groovy-docgenerator@default:false,groovy-groovydoc@default:false,groovy-groovysh@default:false,groovy-jmx@default:false,groovy-json@default:false,groovy-jsr223@default:false,groovy-macro@default:false,groovy-nio@default:false,groovy-servlet@default:false,groovy-sql@default:false,groovy-swing@default:false,groovy-xml@default:false,groovy@default:default,jakarta.mail.api@default:default,jakarta.xml.bind-api@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.jms@default:default,javax.servlet@default:default,javax.transaction@default:false,net.sf.supercsv.super-csv@default:default,org.apache.activemq.activemq-core@default:default,org.apache.activemq.kahadb@default:default,org.apache.ant*1.10.5.v20180808-0324@default:default,org.apache.batik.constants*1.10.0.v20180703-1553@default:default,org.apache.batik.css*1.10.0.v20180703-1553@default:default,org.apache.batik.i18n*1.10.0.v20180703-1553@default:default,org.apache.batik.util*1.10.0.v20180703-1553@default:default,org.apache.commons.collections@default:default,org.apache.commons.io*2.6.0@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.net@default:default,org.apache.felix.scr@1:true,org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec@default:default,org.apache.poi.poi-ooxml@default:default,org.apache.poi.poi@default:default,org.apache.servicemix.bundles.cglib.source,org.apache.xmlgraphics*2.2.0.v20180809-1640@default:default,org.bouncycastle.bcprov*1.60.0.v20181107-1520@default:default,org.cryptacular@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.optional.junit@default:false,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions.supplier@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.osgi.alpn.fragment@default:false,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi*3.13.200.v20181130-2106@-1:true,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.pde.ds.lib@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.hamcrest.core@default:default,org.jfree.chart-osgi@default:default,org.jfree.jcommon-osgi@default:default,org.junit@default:default,org.krysalis.barcode4j@default:default,org.passay@default:default,org.restlet*2.4.1@default:default,org.slf4j.apis.jcl@default:default,org.slf4j.jcl@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg.patch@default:false,org.w3c.dom.svg@default:default,slf4j.api@default:default,slf4j.jcl@default:false,slf4j.jdk14@default:false"/> <stringAttribute key="selected_target_plugins" value="bcprov@default:default,com.diffplug.osgi.extension.sun.misc@default:false,com.google.zxing.core@default:default,com.ibm.icu@default:default,com.itextpdf@default:default,com.jaspersoft.studio.bundles.barbecue@default:default,com.sun.activation.jakarta.activation@default:default,com.sun.mail.smtp@default:default,groovy-console@default:false,groovy-datetime@default:false,groovy-json@default:false,groovy-jsr223@default:false,groovy-nio@default:false,groovy-swing@default:false,groovy-xml@default:false,groovy@default:default,jakarta.mail.api@default:default,jakarta.xml.bind-api@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.jms@default:default,javax.transaction@default:false,net.sf.supercsv.super-csv@default:default,org.apache.activemq.activemq-core@default:default,org.apache.activemq.kahadb@default:default,org.apache.ant@default:default,org.apache.batik.constants@default:default,org.apache.batik.css@default:default,org.apache.batik.i18n@default:default,org.apache.batik.util@default:default,org.apache.commons.collections@default:default,org.apache.commons.io@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.scr@1:true,org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec@default:default,org.apache.poi.poi-ooxml@default:default,org.apache.poi.poi@default:default,org.apache.servicemix.bundles.cglib@default:default,org.apache.xmlgraphics@default:default,org.cryptacular@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.jetty.osgi-servlet-api@default:default,org.eclipse.jetty.osgi.alpn.fragment@default:false,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jfree.chart-osgi@default:default,org.jfree.jcommon-osgi@default:default,org.junit@default:default,org.krysalis.barcode4j@default:default,org.passay@default:default,org.restlet@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default,slf4j.api@default:default,slf4j.jcl@default:false"/>
<stringAttribute key="selected_workspace_plugins" value="org.adempiere.base@default:default,org.adempiere.extend@default:false,org.adempiere.install@default:default,org.apache.ecs@default:default,org.compiere.db.postgresql.provider@default:default"/> <stringAttribute key="selected_workspace_plugins" value="org.adempiere.base@default:default,org.adempiere.extend@default:false,org.adempiere.install@default:default,org.apache.ecs@default:default,org.compiere.db.postgresql.provider@default:default,org.idempiere.hazelcast.service.config@default:false,org.idempiere.hazelcast.service@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/> <booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/> <booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/> <booleanAttribute key="useCustomFeatures" value="false"/>

View File

@ -7,8 +7,6 @@
<project reference="MercurialEclipseProjectSet|org.adempiere.base.process|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.base.process"/> <project reference="MercurialEclipseProjectSet|org.adempiere.base.process|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.base.process"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.bundles.external-feature|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.bundles.external-feature"/> <project reference="MercurialEclipseProjectSet|org.adempiere.bundles.external-feature|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.bundles.external-feature"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.eclipse.equinox.http.servlet|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.eclipse.equinox.http.servlet"/> <project reference="MercurialEclipseProjectSet|org.adempiere.eclipse.equinox.http.servlet|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.eclipse.equinox.http.servlet"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.eclipse.equinox.http.servletbridge|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.eclipse.equinox.http.servletbridge"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.eclipse.equinox.servletbridge|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.eclipse.equinox.servletbridge"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.extend|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.extend"/> <project reference="MercurialEclipseProjectSet|org.adempiere.extend|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.extend"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.install|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.install"/> <project reference="MercurialEclipseProjectSet|org.adempiere.install|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.install"/>
<project reference="MercurialEclipseProjectSet|org.adempiere.payment.processor|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.payment.processor"/> <project reference="MercurialEclipseProjectSet|org.adempiere.payment.processor|/mnt/data/dev/project/working-project/maventycho/idempiere|org.adempiere.payment.processor"/>
@ -67,7 +65,6 @@
<item elementID="=org.adempiere.server" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.server" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.webstore" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.webstore" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.idempiere.felix.webconsole" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.idempiere.felix.webconsole" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.eclipse.equinox.servletbridge" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.base.callout" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.base.callout" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.idempiere.hazelcast.service" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.idempiere.hazelcast.service" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.ui.zk" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.ui.zk" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
@ -82,7 +79,6 @@
<item elementID="=org.adempiere.pipo" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.pipo" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.report.jasper.webapp" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.report.jasper.webapp" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.webstore.resource" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.webstore.resource" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.eclipse.equinox.http.servletbridge" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.idempiere.zk.extra" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.idempiere.zk.extra" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.base" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.base" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.adempiere.pipo.handlers" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/> <item elementID="=org.adempiere.pipo.handlers" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>

View File

@ -123,16 +123,23 @@
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.adempiere.eclipse.equinox.http.servletbridge" id="org.eclipse.equinox.http.servlet"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.adempiere.eclipse.equinox.servletbridge" id="org.eclipse.equinox.http.servletbridge"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.servletbridge"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -72,12 +72,33 @@
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.eclipse.equinox.p2.publisher" id="org.eclipse.equinox.http.servlet"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin
id="org.eclipse.equinox.http.servletbridge"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.servletbridge"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.p2.publisher"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin <plugin
id="org.apache.felix.scr" id="org.apache.felix.scr"
download-size="0" download-size="0"

View File

@ -83,13 +83,10 @@ Import-Package: groovy.beans;version="2.5.3",
groovy.inspect;version="2.5.3", groovy.inspect;version="2.5.3",
groovy.inspect.swingui;version="2.5.3", groovy.inspect.swingui;version="2.5.3",
groovy.io;version="2.5.3", groovy.io;version="2.5.3",
groovy.jmx.builder;version="2.5.3",
groovy.json;version="2.5.3", groovy.json;version="2.5.3",
groovy.lang;version="2.5.3", groovy.lang;version="2.5.3",
groovy.model;version="2.5.3", groovy.model;version="2.5.3",
groovy.security;version="2.5.3", groovy.security;version="2.5.3",
groovy.servlet;version="2.5.3",
groovy.sql;version="2.5.3",
groovy.swing;version="2.5.3", groovy.swing;version="2.5.3",
groovy.swing.binding;version="2.5.3", groovy.swing.binding;version="2.5.3",
groovy.swing.factory;version="2.5.3", groovy.swing.factory;version="2.5.3",

View File

@ -8,6 +8,7 @@ Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=11))" Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=11))"
Import-Package: javax.servlet;version="2.5.0", Import-Package: javax.servlet;version="2.5.0",
javax.servlet.descriptor;version="3.1.0",
javax.servlet.http;version="2.5.0", javax.servlet.http;version="2.5.0",
javax.servlet.jsp;version="2.1.0", javax.servlet.jsp;version="2.1.0",
javax.servlet.jsp.el;version="2.1.0", javax.servlet.jsp.el;version="2.1.0",
@ -18,6 +19,7 @@ Import-Package: javax.servlet;version="2.5.0",
javax.servlet.jsp.resources;version="2.1.0", javax.servlet.jsp.resources;version="2.1.0",
javax.servlet.jsp.tagext;version="2.1.0", javax.servlet.jsp.tagext;version="2.1.0",
javax.servlet.resources;version="2.5.0", javax.servlet.resources;version="2.5.0",
org.adempiere.eclipse.equinox.http.servlet,
org.apache.felix.webconsole;version="3.1.2", org.apache.felix.webconsole;version="3.1.2",
org.compiere.model, org.compiere.model,
org.compiere.util, org.compiere.util,
@ -31,3 +33,4 @@ Service-Component: OSGI-INF/*.xml
Bundle-ClassPath: . Bundle-ClassPath: .
Automatic-Module-Name: org.idempiere.felix.webconsole Automatic-Module-Name: org.idempiere.felix.webconsole
Bundle-Vendor: iDempiere Community Bundle-Vendor: iDempiere Community
Export-Package: org.idempiere.felix.webconsole;x-internal:=true

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.idempiere.felix.webconsole.security.provider"> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.idempiere.felix.webconsole.security.provider">
<implementation class="org.idempiere.felix.webconsole.SecurityProviderImpl"/> <implementation class="org.idempiere.felix.webconsole.SecurityProviderImpl"/>
<service> <service>
<provide interface="org.apache.felix.webconsole.WebConsoleSecurityProvider"/> <provide interface="org.apache.felix.webconsole.WebConsoleSecurityProvider"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="2.4"> version="3.1">
<display-name>Web Console</display-name> <display-name>Web Console</display-name>
<description></description> <description></description>
<filter id="bridge"> <filter id="bridge">
<filter-name>equinoxBridgeFilter</filter-name> <filter-name>equinoxBridgeFilter</filter-name>
<filter-class>org.eclipse.equinox.servletbridge.BridgeFilter</filter-class> <filter-class>org.adempiere.eclipse.equinox.http.servlet.BridgeFilter</filter-class>
<init-param> <init-param>
<param-name>HttpContext.ClassName</param-name> <param-name>HttpContext.ClassName</param-name>
<param-value>org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext</param-value> <param-value>org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext</param-value>
@ -17,13 +17,6 @@
<filter-name>equinoxBridgeFilter</filter-name> <filter-name>equinoxBridgeFilter</filter-name>
<url-pattern>/*</url-pattern> <url-pattern>/*</url-pattern>
</filter-mapping> </filter-mapping>
<!--
This is required if your application bundles expose JSPs.
-->
<filter-mapping>
<filter-name>equinoxBridgeFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<session-config> <session-config>
<session-timeout>30</session-timeout> <session-timeout>30</session-timeout>

View File

@ -4,9 +4,6 @@ bin.includes = META-INF/,\
jars.extra.classpath = platform:/plugin/org.adempiere.base/,\ jars.extra.classpath = platform:/plugin/org.adempiere.base/,\
platform:/plugin/org.adempiere.base.callout/,\ platform:/plugin/org.adempiere.base.callout/,\
platform:/plugin/org.adempiere.base.process/,\ platform:/plugin/org.adempiere.base.process/,\
platform:/plugin/org.adempiere.eclipse.equinox.http.servlet/,\
platform:/plugin/org.adempiere.eclipse.equinox.http.servletbridge/,\
platform:/plugin/org.adempiere.eclipse.equinox.servletbridge/,\
platform:/plugin/org.adempiere.extend/,\ platform:/plugin/org.adempiere.extend/,\
platform:/plugin/org.adempiere.install/,\ platform:/plugin/org.adempiere.install/,\
platform:/plugin/org.adempiere.payment.processor/,\ platform:/plugin/org.adempiere.payment.processor/,\

View File

@ -18,8 +18,6 @@
<module>org.adempiere.extend</module> <module>org.adempiere.extend</module>
<module>org.adempiere.payment.processor</module> <module>org.adempiere.payment.processor</module>
<module>org.adempiere.eclipse.equinox.http.servlet</module> <module>org.adempiere.eclipse.equinox.http.servlet</module>
<module>org.adempiere.eclipse.equinox.http.servletbridge</module>
<module>org.adempiere.eclipse.equinox.servletbridge</module>
<module>org.adempiere.install</module> <module>org.adempiere.install</module>
<module>org.adempiere.pipo</module> <module>org.adempiere.pipo</module>
<module>org.adempiere.pipo.handlers</module> <module>org.adempiere.pipo.handlers</module>