Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 30149 invoked from network); 29 Aug 2009 00:52:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Aug 2009 00:52:36 -0000 Received: (qmail 75577 invoked by uid 500); 29 Aug 2009 00:52:35 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 75522 invoked by uid 500); 29 Aug 2009 00:52:35 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 75513 invoked by uid 99); 29 Aug 2009 00:52:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 29 Aug 2009 00:52:35 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 29 Aug 2009 00:52:29 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 27B37238890C; Sat, 29 Aug 2009 00:52:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r809078 [5/12] - in /geronimo/sandbox/djencks/osgi/framework: ./ assemblies/ assemblies/geronimo-framework/ buildsupport/ buildsupport/buildsupport-maven-plugin/ buildsupport/car-maven-plugin/ buildsupport/car-maven-plugin/src/main/java/org... Date: Sat, 29 Aug 2009 00:51:37 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090829005208.27B37238890C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java Sat Aug 29 00:51:12 2009 @@ -139,6 +139,19 @@ addFile(getTargetFile(targetPath), new ByteArrayInputStream(source.getBytes())); } + public void addFile(URI targetPath, byte[] contents) throws IOException { + File file = getTargetFile(targetPath); + if (!file.getParentFile().mkdirs()) { + throw new IOException("Could not create parent directory for entry: " + targetPath + " at " + file.getParentFile()); + } + FileOutputStream out = new FileOutputStream(file); + try { + out.write(contents); + } finally { + DeploymentUtil.close(out); + } + } + public File getTargetFile(URI targetPath) { if (targetPath == null) throw new NullPointerException("targetPath is null"); if (targetPath.isAbsolute()) throw new IllegalArgumentException("targetPath is absolute"); Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java Sat Aug 29 00:51:12 2009 @@ -48,6 +48,7 @@ import org.apache.geronimo.gbean.GBeanLifecycle; import org.apache.geronimo.kernel.GBeanNotFoundException; import org.apache.geronimo.kernel.Kernel; +import org.apache.geronimo.kernel.osgi.BundleClassLoader; import org.apache.geronimo.kernel.config.Configuration; import org.apache.geronimo.kernel.config.ConfigurationData; import org.apache.geronimo.kernel.config.ConfigurationManager; @@ -76,6 +77,7 @@ private final Collection watchers; private final ArtifactResolver artifactResolver; private final Kernel kernel; + private static final URI PLAN_LOCATION = URI.create("META-INF/plan.xml"); public Deployer(String remoteDeployAddress, Collection builders, Collection stores, Collection watchers, Kernel kernel) throws GBeanNotFoundException { this(remoteDeployAddress, builders, stores, watchers, getArtifactResolver(kernel), kernel); @@ -253,7 +255,11 @@ // It's our responsibility to close this context, once we're done with it... DeploymentContext context = builder.buildConfiguration(inPlace, configID, plan, module, stores, artifactResolver, store); - + // Copy the external plan to the META-INF folder with the uniform name plan.xml if there is nothing there already + if (planFile != null && !context.getTargetFile(PLAN_LOCATION).exists()) { + context.addFile(PLAN_LOCATION, planFile); + } + // install the configuration return install(targetFile, install, manifest, store, context); } catch (Throwable e) { //TODO not clear all errors will result in total cleanup @@ -327,7 +333,8 @@ // classes are loaded when the configuration is started. Thread thread = Thread.currentThread(); ClassLoader oldCl = thread.getContextClassLoader(); - thread.setContextClassLoader( context.getConfiguration().getConfigurationClassLoader()); + //TODO OSGI fixme + thread.setContextClassLoader( new BundleClassLoader(context.getConfiguration().getBundle())); try { try { configurationDatas.add(context.getConfigurationData()); @@ -597,9 +604,9 @@ infoFactory.addAttribute("kernel", Kernel.class, false); infoFactory.addAttribute("remoteDeployAddress", String.class, true, true); infoFactory.addAttribute("remoteDeployUploadURL", String.class, false); - infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class}); - infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class, String.class}); - infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class, File.class, boolean.class, String.class, String.class, String.class, String.class, String.class, String.class, String.class, String.class}); +// infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class}); +// infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class, String.class}); +// infoFactory.addOperation("deploy", new Class[]{boolean.class, File.class, File.class, File.class, boolean.class, String.class, String.class, String.class, String.class, String.class, String.class, String.class, String.class}); infoFactory.addReference("Builders", ConfigurationBuilder.class, "ConfigBuilder"); infoFactory.addReference("Store", ConfigurationStore.class, "ConfigurationStore"); Added: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java?rev=809078&view=auto ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java (added) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java Sat Aug 29 00:51:12 2009 @@ -0,0 +1,139 @@ +/* + * 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.geronimo.deployment; + +import java.io.InputStream; +import java.io.IOException; +import java.util.Dictionary; +import java.util.Enumeration; +import java.net.URL; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleException; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.BundleContext; +import org.apache.geronimo.kernel.repository.Artifact; +import org.apache.geronimo.kernel.repository.ClassLoadingRules; + +/** + * @version $Rev$ $Date$ + */ +public class DeploymentBundle implements Bundle { + + private final DeploymentBundleClassLoader classLoader; + private final DeploymentBundleContext bundleContext; + private final String location; + + public DeploymentBundle(DeploymentBundleContext context, String location, Artifact artifact, URL[] urls, Bundle[] parents, ClassLoadingRules classLoadingRules) { + this.bundleContext = context; + this.location = location; + classLoader = new DeploymentBundleClassLoader(artifact, urls, parents, classLoadingRules, this); + } + + public int getState() { + return 0; + } + + public void start(int i) throws BundleException { + } + + public void start() throws BundleException { + } + + public void stop(int i) throws BundleException { + } + + public void stop() throws BundleException { + } + + public void update() throws BundleException { + } + + public void update(InputStream inputStream) throws BundleException { + } + + public void uninstall() throws BundleException { + } + + public Dictionary getHeaders() { + return null; + } + + public long getBundleId() { + return 0; + } + + public String getLocation() { + return location; + } + + public ServiceReference[] getRegisteredServices() { + return new ServiceReference[0]; + } + + public ServiceReference[] getServicesInUse() { + return new ServiceReference[0]; + } + + public boolean hasPermission(Object o) { + return false; + } + + public URL getResource(String s) { + return classLoader.getResource(s); + } + + public Dictionary getHeaders(String s) { + return null; + } + + public String getSymbolicName() { + return null; + } + + public Class loadClass(String s) throws ClassNotFoundException { + return classLoader.loadClass(s); + } + + public Enumeration getResources(String s) throws IOException { + return classLoader.getResources(s); + } + + public Enumeration getEntryPaths(String s) { + return null; + } + + public URL getEntry(String s) { + return null; + } + + public long getLastModified() { + return 0; + } + + public Enumeration findEntries(String s, String s1, boolean b) { + return null; + } + + public BundleContext getBundleContext() { + return bundleContext; + } +} Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundle.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Copied: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleClassLoader.java (from r806266, geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/MultiParentClassLoader2.java) URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleClassLoader.java?p2=geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleClassLoader.java&p1=geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/MultiParentClassLoader2.java&r1=806266&r2=809078&rev=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/MultiParentClassLoader2.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleClassLoader.java Sat Aug 29 00:51:12 2009 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.geronimo.kernel.config.classloading; +package org.apache.geronimo.deployment; import java.beans.Introspector; import java.io.IOException; @@ -36,12 +36,15 @@ import org.apache.geronimo.kernel.classloader.UnionEnumeration; import org.apache.geronimo.kernel.config.ChildrenConfigurationClassLoader; +import org.apache.geronimo.kernel.config.classloading.ConfigurationClassLoaderExtension; +import org.apache.geronimo.kernel.config.classloading.MultiParentClassLoader2; import org.apache.geronimo.kernel.repository.Artifact; import org.apache.geronimo.kernel.repository.ClassLoadingRule; import org.apache.geronimo.kernel.repository.ClassLoadingRules; import org.apache.geronimo.kernel.util.ClassLoaderRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.osgi.framework.Bundle; /** * A MultiParentClassLoader is a simple extension of the URLClassLoader that simply changes the single parent class @@ -52,8 +55,8 @@ * * @version $Rev: 732599 $ $Date: 2009-01-08 14:36:25 +1100 (Thu, 08 Jan 2009) $ */ -public class MultiParentClassLoader2 extends URLClassLoader implements ConfigurationClassLoaderExtension { - private static final Logger log = LoggerFactory.getLogger(MultiParentClassLoader2.class); +public class DeploymentBundleClassLoader extends URLClassLoader { + private static final Logger log = LoggerFactory.getLogger(DeploymentBundleClassLoader.class); //set up what kind of classloading strategy we will use. // I used this pattern as its temporary and with the static final we get compile time @@ -78,7 +81,7 @@ } classLoaderSearchMode = runtimeMode; - LoggerFactory.getLogger(MultiParentClassLoader2.class).info( + LoggerFactory.getLogger(DeploymentBundleClassLoader.class).info( "ClassLoading behaviour has changed. The " + runtimeModeMessage + " mode is in effect. If you are experiencing a problem\n" + "you can change the behaviour by specifying -DXorg.apache.geronimo.kernel.config.MPCLSearchOption= property. Specify \n" + "=\"safe\" to revert to the original behaviour. This is a temporary change until we decide whether or not to make it\n" + @@ -89,28 +92,26 @@ private final Artifact id; //explicit parents, normally MultiParentClassLoader2 instances. These follow the classloading rules so can modify the visibility of //contained classes. - private final ClassLoader[] parents; + private final Bundle[] parents; private final ClassLoadingRules classLoadingRules; private boolean destroyed = false; private Set resourcesNotFound = new HashSet(); - //jars "in" this classloader. These classloaders cannot affect the visibility of contained classes. The classloading rule inverseclassloading - //determines whether the parents or these classloaders are searched first. - private final Set classloaders; + private final Bundle bundleWrapper; - public MultiParentClassLoader2(Artifact id, + public DeploymentBundleClassLoader(Artifact id, URL[] urls, - Set globalClassLoaders, - ClassLoader[] parents, - ClassLoadingRules classLoadingRules) { + Bundle[] parents, + ClassLoadingRules classLoadingRules, + Bundle bundleWrapper) { super(urls); this.id = id; - this.classloaders = globalClassLoaders; this.parents = parents; this.classLoadingRules = classLoadingRules; + this.bundleWrapper = bundleWrapper; - ClassLoaderRegistry.add(this); +// ClassLoaderRegistry.add(this); } /** @@ -127,7 +128,7 @@ * * @return the parents of this class loader */ - public ClassLoader[] getParents() { + public Bundle[] getParents() { return parents; } @@ -195,7 +196,7 @@ // Check parent class loaders // if (!isHiddenClass(name)) { - for (ClassLoader parent : parents) { + for (Bundle parent : parents) { try { Class clazz = parent.loadClass(name); return resolveClass(clazz, resolve); @@ -278,7 +279,7 @@ // if (!isHiddenClass(name)) { try { - LinkedList visitedClassLoaders = new LinkedList(); + LinkedList visitedClassLoaders = new LinkedList(); Class clazz = checkParents(name, resolve, visitedClassLoaders); if (clazz != null) return resolveClass(clazz, resolve); } catch (ClassNotFoundException cnfe) { @@ -305,24 +306,11 @@ @Override protected Class findClass(String name) throws ClassNotFoundException { - LinkedList visitedClassLoaders = new LinkedList(); + LinkedList visitedClassLoaders = new LinkedList(); return findClass(name, visitedClassLoaders); } - protected Class findClass(String name, List visitedClassLoaders) throws ClassNotFoundException { - for (ConfigurationClassLoaderExtension classLoader : classloaders) { - if (!visitedClassLoaders.contains(classLoader)) { - visitedClassLoaders.add(classLoader); - try { - Class clazz = classLoader.loadClassInternal(name, true, visitedClassLoaders); - if (clazz != null) return clazz; - } catch (ClassNotFoundException e) { - //ignore - } catch (MalformedURLException e) { - //ignore - } - } - } + protected Class findClass(String name, List visitedClassLoaders) throws ClassNotFoundException { return super.findClass(name); } @@ -337,7 +325,7 @@ * @return * @throws ClassNotFoundException */ - public synchronized Class loadClassInternal(String name, boolean resolve, List visitedClassLoaders) throws ClassNotFoundException, MalformedURLException { + public synchronized Class loadClassInternal(String name, boolean resolve, List visitedClassLoaders) throws ClassNotFoundException, MalformedURLException { // // Check if class is in the loaded classes cache // @@ -384,19 +372,14 @@ * @return * @throws ClassNotFoundException */ - private synchronized Class checkParents(String name, boolean resolve, List visitedClassLoaders) throws ClassNotFoundException { - for (ClassLoader parent : parents) { + private synchronized Class checkParents(String name, boolean resolve, List visitedClassLoaders) throws ClassNotFoundException { + for (Bundle parent : parents) { if (!visitedClassLoaders.contains(parent)) { //TODO inefficient - if (parent instanceof ConfigurationClassLoaderExtension) { - visitedClassLoaders.add((ConfigurationClassLoaderExtension) parent); // Track that we've been here before - } + visitedClassLoaders.add(parent); // Track that we've been here before try { - if (parent instanceof MultiParentClassLoader2) { - Class clazz = ((MultiParentClassLoader2) parent).loadClassInternal(name, resolve, visitedClassLoaders); - if (clazz != null) return resolveClass(clazz, resolve); - } else if (parent instanceof ChildrenConfigurationClassLoader) { - Class clazz = ((ChildrenConfigurationClassLoader) parent).loadClassInternal(name, resolve, visitedClassLoaders); + if (parent instanceof DeploymentBundleClassLoader) { + Class clazz = ((DeploymentBundleClassLoader) parent).loadClassInternal(name, resolve, visitedClassLoaders); if (clazz != null) return resolveClass(clazz, resolve); } else { return parent.loadClass(name); @@ -448,7 +431,7 @@ // Check parent class loaders // if (!isHiddenResource(name)) { - for (ClassLoader parent : parents) { + for (Bundle parent : parents) { URL url = parent.getResource(name); if (url != null) { return url; @@ -470,9 +453,9 @@ } } - // + // // Resource not found -- no need to search for it again - // + // if (!resourcesNotFound.contains(name)) { resourcesNotFound.add(name); } @@ -486,12 +469,6 @@ if (url != null) { return url; } - for (ConfigurationClassLoaderExtension classLoader : classloaders) { - url = ((ConfigurationClassLoaderExtension)classLoader).findResource(name); - if (null != url) { - return url; - } - } return null; } @@ -500,7 +477,7 @@ return Collections.enumeration(Collections.EMPTY_SET); } - Set knownClassloaders = new HashSet(); + Set knownClassloaders = new HashSet(); List> enumerations = new ArrayList>(); recursiveFind(knownClassloaders, enumerations, name); @@ -508,18 +485,18 @@ return new UnionEnumeration(enumerations); } - protected void recursiveFind(Set knownClassloaders, List> enumerations, String name) throws IOException { - if (isDestroyed() || knownClassloaders.contains(this)) { + protected void recursiveFind(Set knownClassloaders, List> enumerations, String name) throws IOException { + if (isDestroyed() || knownClassloaders.contains(bundleWrapper)) { return; } - knownClassloaders.add(this); + knownClassloaders.add(bundleWrapper); if (classLoadingRules.isInverseClassLoading() && !isNonOverridableResource(name)) { enumerations.add(internalfindResources(name)); } if (!isHiddenResource(name)) { - for (ClassLoader parent : parents) { - if (parent instanceof MultiParentClassLoader2) { - ((MultiParentClassLoader2) parent).recursiveFind(knownClassloaders, enumerations, name); + for (Bundle parent : parents) { + if (parent instanceof DeploymentBundleClassLoader) { + ((DeploymentBundleClassLoader) parent).recursiveFind(knownClassloaders, enumerations, name); } else { if (!knownClassloaders.contains(parent)) { enumerations.add(parent.getResources(name)); @@ -536,9 +513,9 @@ protected Enumeration internalfindResources(String name) throws IOException { List> urls = new ArrayList>(); urls.add(super.findResources(name)); - for (ConfigurationClassLoaderExtension classLoader : classloaders) { - urls.add(classLoader.findResources(name)); - } +// for (ConfigurationClassLoaderExtension classLoader : classloaders) { +// urls.add(classLoader.findResources(name)); +// } return new UnionEnumeration(urls); } @@ -552,30 +529,30 @@ return hiddenRule.isFilteredResource(name); } - public static Set getAncestors(ClassLoader cl) { - Set ancestors = new HashSet(); - getAncestorsInternal(ancestors, cl); - return ancestors; - } +// public static Set getAncestors(ClassLoader cl) { +// Set ancestors = new HashSet(); +// getAncestorsInternal(ancestors, cl); +// return ancestors; +// } /** * Recursive method to calculate all ClassLoader parents of a given ClassLoader. */ - private static void getAncestorsInternal(Set ancestors, ClassLoader childClassLoader) { - if (childClassLoader == null) { - return; - } - if (childClassLoader instanceof MultiParentClassLoader2) { - for (ClassLoader cl : ((MultiParentClassLoader2) childClassLoader).parents) { - ancestors.add(cl); - getAncestorsInternal(ancestors, cl); - } - } else { - ClassLoader cl = childClassLoader.getParent(); - ancestors.add(cl); - getAncestorsInternal(ancestors, cl); - } - } +// private static void getAncestorsInternal(Set ancestors, ClassLoader childClassLoader) { +// if (childClassLoader == null) { +// return; +// } +// if (childClassLoader instanceof DeploymentBundleClassLoader) { +// for (ClassLoader cl : ((DeploymentBundleClassLoader) childClassLoader).parents) { +// ancestors.add(cl); +// getAncestorsInternal(ancestors, cl); +// } +// } else { +// ClassLoader cl = childClassLoader.getParent(); +// ancestors.add(cl); +// getAncestorsInternal(ancestors, cl); +// } +// } public String toString() { StringBuilder b = new StringBuilder(); @@ -596,9 +573,9 @@ } b.append(indent).append("parents:\n"); - for (ClassLoader cl : parents) { - if (cl instanceof MultiParentClassLoader2) { - ((MultiParentClassLoader2) cl).toBuilder(b, newIndent); + for (Bundle cl : parents) { + if (cl instanceof DeploymentBundleClassLoader) { + ((DeploymentBundleClassLoader) cl).toBuilder(b, newIndent); } else { b.append(newIndent).append(cl.toString()).append("\n"); } @@ -641,7 +618,7 @@ synchronized (lock) { if (!clearSoftCacheFailed) { clearSoftCacheFailed = true; - LoggerFactory.getLogger(MultiParentClassLoader2.class).debug("Unable to clear SoftCache field {} in class {}", fieldName, clazz); + LoggerFactory.getLogger(DeploymentBundleClassLoader.class).debug("Unable to clear SoftCache field {} in class {}", fieldName, clazz); } } } @@ -658,4 +635,4 @@ super.finalize(); } -} +} \ No newline at end of file Added: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java?rev=809078&view=auto ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java (added) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java Sat Aug 29 00:51:12 2009 @@ -0,0 +1,135 @@ +/* + * 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.geronimo.deployment; + +import java.io.File; +import java.io.InputStream; +import java.util.Dictionary; +import java.net.URL; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.BundleException; +import org.osgi.framework.BundleListener; +import org.osgi.framework.Filter; +import org.osgi.framework.FrameworkListener; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceListener; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.ServiceRegistration; +import org.apache.geronimo.kernel.repository.Artifact; +import org.apache.geronimo.kernel.repository.ClassLoadingRules; + +/** + * @version $Rev$ $Date$ + */ +public class DeploymentBundleContext implements BundleContext { + private final BundleContext baseContext; + private final DeploymentBundle bundle; + + public DeploymentBundleContext(BundleContext baseContext, String location, Artifact artifact, URL[] urls, Bundle[] parents, ClassLoadingRules classLoadingRules) { + this.baseContext = baseContext; + this.bundle = new DeploymentBundle(this, location, artifact, urls, parents, classLoadingRules); + } + + public String getProperty(String s) { + return null; + } + + public Bundle getBundle() { + return bundle; + } + + public Bundle installBundle(String s) throws BundleException { + return baseContext.installBundle(s); + } + + public Bundle installBundle(String s, InputStream inputStream) throws BundleException { + return baseContext.installBundle(s, inputStream); + } + + public Bundle getBundle(long l) { + return baseContext.getBundle(l); + } + + public Bundle[] getBundles() { + //TODO maybe add this to list? + return baseContext.getBundles(); + } + + public void addServiceListener(ServiceListener serviceListener, String s) throws InvalidSyntaxException { + } + + public void addServiceListener(ServiceListener serviceListener) { + } + + public void removeServiceListener(ServiceListener serviceListener) { + } + + public void addBundleListener(BundleListener bundleListener) { + } + + public void removeBundleListener(BundleListener bundleListener) { + } + + public void addFrameworkListener(FrameworkListener frameworkListener) { + } + + public void removeFrameworkListener(FrameworkListener frameworkListener) { + } + + public ServiceRegistration registerService(String[] strings, Object o, Dictionary dictionary) { + return null; + } + + public ServiceRegistration registerService(String s, Object o, Dictionary dictionary) { + return null; + } + + public ServiceReference[] getServiceReferences(String s, String s1) throws InvalidSyntaxException { + return new ServiceReference[0]; + } + + public ServiceReference[] getAllServiceReferences(String s, String s1) throws InvalidSyntaxException { + return new ServiceReference[0]; + } + + public ServiceReference getServiceReference(String s) { + return null; + } + + public Object getService(ServiceReference serviceReference) { + return null; + } + + public boolean ungetService(ServiceReference serviceReference) { + return false; + } + + public File getDataFile(String s) { + return null; + } + + public Filter createFilter(String s) throws InvalidSyntaxException { + return null; + } + +} Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentBundleContext.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentConfigurationManager.java Sat Aug 29 00:51:12 2009 @@ -41,6 +41,7 @@ import org.apache.geronimo.kernel.repository.ArtifactResolver; import org.apache.geronimo.kernel.repository.Repository; import org.apache.geronimo.kernel.repository.Version; +import org.osgi.framework.BundleContext; /** * @version $Rev$ $Date$ @@ -48,8 +49,8 @@ public class DeploymentConfigurationManager extends SimpleConfigurationManager { private final ConfigurationManager configurationManager; - public DeploymentConfigurationManager(ConfigurationManager configurationManager, Collection repositories) { - super(Arrays.asList(configurationManager.getStores()), configurationManager.getArtifactResolver(), repositories); + public DeploymentConfigurationManager(ConfigurationManager configurationManager, Collection repositories, BundleContext bundleContext) { + super(Arrays.asList(configurationManager.getStores()), configurationManager.getArtifactResolver(), repositories, bundleContext); this.configurationManager = configurationManager; } @@ -130,14 +131,14 @@ LinkedHashSet loadParents = getLoadParents(configuration); for (Configuration loadParent : loadParents) { if (!configurationModel.containsConfiguration(loadParent.getId())) { - configurationModel.addConfiguation(loadParent.getId(), Collections.emptySet(), Collections.emptySet()); + configurationModel.addConfiguration(loadParent.getId(), Collections.emptySet(), Collections.emptySet()); configurationModel.load(loadParent.getId()); } } LinkedHashSet startParents = getStartParents(configuration); for (Configuration startParent : startParents) { if (!configurationModel.containsConfiguration(startParent.getId())) { - configurationModel.addConfiguation(startParent.getId(), Collections.emptySet(), Collections.emptySet()); + configurationModel.addConfiguration(startParent.getId(), Collections.emptySet(), Collections.emptySet()); configurationModel.load(startParent.getId()); } } Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java Sat Aug 29 00:51:12 2009 @@ -18,10 +18,7 @@ package org.apache.geronimo.deployment; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -42,7 +39,6 @@ import java.util.zip.ZipFile; import org.apache.geronimo.common.DeploymentException; -import org.apache.geronimo.deployment.util.DeploymentUtil; import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.gbean.AbstractNameQuery; import org.apache.geronimo.gbean.GBeanData; @@ -60,8 +56,11 @@ import org.apache.geronimo.kernel.repository.Artifact; import org.apache.geronimo.kernel.repository.Environment; import org.apache.geronimo.kernel.repository.Repository; +import org.apache.geronimo.kernel.repository.ClassLoadingRules; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; /** * @version $Rev:385232 $ $Date$ @@ -107,15 +106,18 @@ private final LinkedHashSet classPath = new LinkedHashSet(); private final ConfigurationModuleType moduleType; private final Environment environment; + //This provides services such as loading more bundles, it is NOT for the configuration we are constructing here. + //It should be a disposable nested framework so as to not pollute the main framework with stuff we load as deployment parents. + private final BundleContext bundleContext; private Configuration configuration; - public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager, Collection repositories) throws DeploymentException { - this(baseDir, inPlaceConfigurationDir, environment, moduleName, moduleType, naming, createConfigurationManager(configurationManager, repositories)); + public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager, Collection repositories, BundleContext bundleContext) throws DeploymentException { + this(baseDir, inPlaceConfigurationDir, environment, moduleName, moduleType, naming, createConfigurationManager(configurationManager, repositories, bundleContext), bundleContext); } - public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager) throws DeploymentException { + public DeploymentContext(File baseDir, File inPlaceConfigurationDir, Environment environment, AbstractName moduleName, ConfigurationModuleType moduleType, Naming naming, ConfigurationManager configurationManager, BundleContext bundleContext) throws DeploymentException { if (baseDir == null) throw new NullPointerException("baseDir is null"); if (environment == null) throw new NullPointerException("environment is null"); if (moduleType == null) throw new NullPointerException("type is null"); @@ -142,19 +144,30 @@ } else { resourceContext = new InPlaceResourceContext(this, inPlaceConfigurationDir); } + this.bundleContext = bundleContext; } - private static ConfigurationManager createConfigurationManager(ConfigurationManager configurationManager, Collection repositories) { - return new DeploymentConfigurationManager(configurationManager, repositories); + private static ConfigurationManager createConfigurationManager(ConfigurationManager configurationManager, Collection repositories, BundleContext bundleContext) { + return new DeploymentConfigurationManager(configurationManager, repositories, bundleContext); } + /** + * call to set up the (empty) Configuration we will use to store the gbeans we add to the context. It will use a temporary BundleContext/Bundle for classloading. + * @throws DeploymentException if configuration cannot be loaded successfully + */ public void initializeConfiguration() throws DeploymentException { this.configuration = createTempConfiguration(); } private Configuration createTempConfiguration() throws DeploymentException { try { - configurationManager.loadConfiguration(new ConfigurationData(moduleType, classPath, null, childConfigurationDatas, environment, baseDir, inPlaceConfigurationDir, naming)); + ConfigurationData configurationData = new ConfigurationData(moduleType, classPath, null, childConfigurationDatas, environment, baseDir, inPlaceConfigurationDir, naming); + URL[] urls = new URL[0];//crib code from ConfigurationResolver + Bundle[] parents = new Bundle[0]; //use ConfigurationManager to turn parent artifactIds into bundles + ClassLoadingRules classLoadingRules = new ClassLoadingRules(); + BundleContext bundleContext = new DeploymentBundleContext(this.bundleContext, baseDir.getAbsolutePath(), environment.getConfigId(), urls, parents, classLoadingRules); + configurationData.setBundleContext(bundleContext); + configurationManager.loadConfiguration(configurationData); return configurationManager.getConfiguration(environment.getConfigId()); } catch (Exception e) { throw new DeploymentException("Unable to create configuration for deployment", e); @@ -596,6 +609,10 @@ private void addToClassPath(URI targetUri) throws DeploymentException { classPath.add(targetUri.getPath()); +// String classFileName = fqcn.replace('.', '/') + ".class"; +// resourceContext.addFile(new URI(targetPath.toString() + classFileName), bytes); +// +// configuration.addToClassPath(targetPath.toString()); } public void addFile(URI targetPath, ZipFile zipFile, ZipEntry zipEntry) throws IOException { @@ -618,8 +635,8 @@ return resourceContext.getTargetFile(targetPath); } - public ClassLoader getClassLoader() throws DeploymentException { - return configuration.getConfigurationClassLoader(); + public Bundle getBundle() throws DeploymentException { + return configuration.getBundle(); } public Configuration getConfiguration() { @@ -645,6 +662,11 @@ childConfigurationDatas.put(moduleName, configurationData); } + /** + * Extract the completed ConfigurationData ready for serialization + * @return final ConfigurationData + * @throws DeploymentException if configuration is invalid + */ public ConfigurationData getConfigurationData() throws DeploymentException { List failures = verify(configuration); if (!failures.isEmpty()) { Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java Sat Aug 29 00:51:12 2009 @@ -18,6 +18,7 @@ import java.io.File; import java.io.IOException; +import java.io.FileOutputStream; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -87,7 +88,21 @@ public void addFile(URI targetPath, String source) throws IOException { } - + + //completely untested + public void addFile(URI targetPath, byte[] contents) throws IOException { + File file = getTargetFile(targetPath); + if (!file.getParentFile().mkdirs()) { + throw new IOException("Could not create parent directory for entry: " + targetPath + " at " + file.getParentFile()); + } + FileOutputStream out = new FileOutputStream(file); + try { + out.write(contents); + } finally { + DeploymentUtil.close(out); + } + } + public File getTargetFile(URI targetPath) { if (targetPath == null) throw new NullPointerException("targetPath is null"); if (targetPath.isAbsolute()) throw new IllegalArgumentException("targetPath is absolute"); Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java Sat Aug 29 00:51:12 2009 @@ -40,6 +40,8 @@ void addFile(URI targetPath, File source) throws IOException; void addFile(URI targetPath, String source) throws IOException; + + void addFile(URI targetPath, byte[] contents) throws IOException; File getTargetFile(URI targetPath); Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/DeploymentUtil.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/DeploymentUtil.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/DeploymentUtil.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/DeploymentUtil.java Sat Aug 29 00:51:12 2009 @@ -201,7 +201,7 @@ } return file; } else { - String urlString = "jar:" + new File(jarFile.getName()).toURL() + "!/" + path; + String urlString = "jar:" + new File(jarFile.getName()).toURI().toURL() + "!/" + path; return toTempFile(new URL(urlString)); } } @@ -215,16 +215,16 @@ if (baseJar instanceof UnpackedJarFile) { File baseDir = ((UnpackedJarFile) baseJar).getBaseDir(); baseDir = new File(baseDir, basePath); - return new File(baseDir, path).toURL(); + return new File(baseDir, path).toURI().toURL(); } } } if (jarFile instanceof UnpackedJarFile) { File baseDir = ((UnpackedJarFile) jarFile).getBaseDir(); - return new File(baseDir, path).toURL(); + return new File(baseDir, path).toURI().toURL(); } else { - String urlString = "jar:" + new File(jarFile.getName()).toURL() + "!/" + path; + String urlString = "jar:" + new File(jarFile.getName()).toURI().toURL() + "!/" + path; if(jarUrlRewrite) { // To prevent the lockout of archive, instead of returning a jar url, write the content to a // temp file and return the url of that file. @@ -240,7 +240,7 @@ } catch (IOException ignored) { } } - return tempFile.toURL(); + return tempFile.toURI().toURL(); } else { return new URL(urlString); } Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/LocalEntityResolver.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/LocalEntityResolver.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/LocalEntityResolver.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/LocalEntityResolver.java Sat Aug 29 00:51:12 2009 @@ -399,9 +399,9 @@ infoFactory.addAttribute("localRepositoryURI", URI.class, true); infoFactory.addAttribute("failOnUnresolvable", boolean.class, true); - infoFactory.addOperation("resolveEntity", new Class[]{String.class, String.class}); - infoFactory.addOperation("addPublicMapping", new Class[]{String.class, String.class}); - infoFactory.addOperation("addSystemMapping", new Class[]{String.class, String.class}); +// infoFactory.addOperation("resolveEntity", new Class[]{String.class, String.class}); +// infoFactory.addOperation("addPublicMapping", new Class[]{String.class, String.class}); +// infoFactory.addOperation("addSystemMapping", new Class[]{String.class, String.class}); infoFactory.setConstructor(new String[]{"catalogFileURI", "localRepositoryURI", "failOnUnresolvable"}); Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/ParserFactoryImpl.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/ParserFactoryImpl.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/ParserFactoryImpl.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xml/ParserFactoryImpl.java Sat Aug 29 00:51:12 2009 @@ -88,7 +88,7 @@ static { GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("Factory for constructing suitable configured xml parsers", ParserFactoryImpl.class); - infoFactory.addOperation("getParser"); +// infoFactory.addOperation("getParser"); infoFactory.addReference("EntityResolver", EntityResolver.class, "GBean"); Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/xmlbeans/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java Sat Aug 29 00:51:12 2009 @@ -19,33 +19,23 @@ import java.io.File; import java.io.IOException; import java.net.URI; -import java.net.URL; -import java.net.URLClassLoader; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.jar.JarFile; -import javax.sql.DataSource; - import junit.framework.TestCase; -import net.sf.cglib.core.DefaultGeneratorStrategy; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.MethodInterceptor; import org.apache.geronimo.common.DeploymentException; import org.apache.geronimo.deployment.util.DeploymentUtil; import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.kernel.Jsr77Naming; +import org.apache.geronimo.kernel.osgi.MockBundleContext; import org.apache.geronimo.kernel.config.ConfigurationModuleType; -import org.apache.geronimo.kernel.config.SimpleConfigurationManager; +import org.apache.geronimo.kernel.config.ConfigurationData; import org.apache.geronimo.kernel.mock.MockConfigurationManager; import org.apache.geronimo.kernel.repository.Artifact; -import org.apache.geronimo.kernel.repository.ArtifactManager; -import org.apache.geronimo.kernel.repository.ArtifactResolver; -import org.apache.geronimo.kernel.repository.DefaultArtifactManager; -import org.apache.geronimo.kernel.repository.DefaultArtifactResolver; import org.apache.geronimo.kernel.repository.Environment; +import org.osgi.framework.BundleContext; /** * @version $Rev$ $Date$ @@ -53,6 +43,8 @@ public class DeploymentContextTest extends TestCase { private byte[] classBytes; + private BundleContext bundleContext = new MockBundleContext(getClass().getClassLoader(), "", new HashMap(), null); + // public void testAddClass() throws Exception { // File basedir = File.createTempFile("car", "tmp"); // basedir.delete(); @@ -168,7 +160,7 @@ data.put(URI.create("lib1.jar"), "lib1.jar lib2.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(2, classPathList.size()); @@ -184,7 +176,7 @@ data.put(URI.create("lib2/lib2a.jar"), "../lib3.jar ../lib1/lib1/lib1.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(4, classPathList.size()); @@ -206,7 +198,7 @@ data.put(URI.create("libfolder/b.jar"), ""); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(6, classPathList.size()); @@ -227,7 +219,7 @@ data.put(URI.create("lib1.jar"), "lib1.jar lib2.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(2, classPathList.size()); @@ -246,7 +238,7 @@ data.put(URI.create("lib2/lib2a/lib2a.jar"), "../../lib3/lib3/lib3.jar ../../lib1/lib1/lib1.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(4, classPathList.size()); @@ -266,7 +258,7 @@ data.put(URI.create("lib2/lib2a.jar"), "../lib3.jar ../lib1/lib1/lib1.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(4, classPathList.size()); @@ -288,7 +280,7 @@ data.put(URI.create("ejb2.jar"), "lib3.jar lib4.jar"); DeploymentContext.JarFileFactory factory = new MockJarFileFactory(data); - DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager()); + DeploymentContext context = new DeploymentContext(new File("."), null, new Environment(Artifact.create("test/foo/1/ear")), new AbstractName(URI.create("test/foo/1/ear?name=test")), ConfigurationModuleType.EAR, new Jsr77Naming(), new MockConfigurationManager(), bundleContext); ClassPathList classPathList = new ClassPathList(); context.getCompleteManifestClassPath(start, start.getRelativeURI(), resolutionURI, classPathList, exclusions, factory, new ArrayList()); assertEquals(2, classPathList.size()); Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java Sat Aug 29 00:51:12 2009 @@ -27,8 +27,6 @@ import org.apache.geronimo.common.DeploymentException; import org.apache.geronimo.kernel.Jsr77Naming; -import org.apache.geronimo.kernel.classloader.JarFileClassLoader; -import org.apache.geronimo.kernel.config.ClassLoaderHolder; import org.apache.geronimo.kernel.config.Configuration; import org.apache.geronimo.kernel.config.ConfigurationData; import org.apache.geronimo.kernel.config.ConfigurationInfo; @@ -259,14 +257,14 @@ return NEW_ID; } - public DeploymentContext buildConfiguration(boolean inPlaceDeployment, Artifact configId, Object plan, JarFile module, Collection configurationStores, ArtifactResolver artifactResolver, ConfigurationStore targetConfigurationStore) throws IOException, DeploymentException { + public DeploymentContext buildConfiguration(boolean inPlaceDeployment, Artifact configId, Object plan, JarFile module, Collection configurationStores, ArtifactResolver artifactResolver, ConfigurationStore targetConfigurationStore) throws IOException, DeploymentException { return new DeploymentContext(dir, dir, new Environment(configId), null, ConfigurationModuleType.CAR, new Jsr77Naming(), - new SimpleConfigurationManager(Collections.singletonList(store), artifactResolver, Collections.emptySet())); + new SimpleConfigurationManager(Collections.singletonList(store), artifactResolver, Collections.emptySet(), bundleContext), bundleContext); } } @@ -338,8 +336,8 @@ public Configuration getConfiguration(Artifact configurationId) { try { - JarFileClassLoader classLoader = new JarFileClassLoader(loadedConfigurationData.getId(), null, getClass().getClassLoader()); - return new Configuration(new ClassLoaderHolder(classLoader, classLoader), +// JarFileClassLoader classLoader = new JarFileClassLoader(loadedConfigurationData.getId(), null, getClass().getClassLoader()); + return new Configuration(//new ClassLoaderHolder(classLoader, classLoader), loadedConfigurationData, new DependencyNode(loadedConfigurationData.getId(), new LinkedHashSet(), Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -1,10 +1,9 @@ +.* *.iws *.ipr *.iml -.classpath -.project -.settings *.log junit*.properties +maven-eclipse.xml target bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/pom.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/pom.xml?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/pom.xml (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/pom.xml Sat Aug 29 00:51:12 2009 @@ -25,10 +25,11 @@ org.apache.geronimo.framework modules - 2.2-SNAPSHOT + 3.0-SNAPSHOT geronimo-interceptor + bundle Geronimo Framework, Modules :: Interceptor Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-interceptor/src/main/java/org/apache/geronimo/interceptor/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -1,10 +1,9 @@ +.* *.iws *.ipr *.iml -.classpath -.project -.settings *.log junit*.properties +maven-eclipse.xml target bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/pom.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/pom.xml?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/pom.xml (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/pom.xml Sat Aug 29 00:51:12 2009 @@ -25,10 +25,11 @@ org.apache.geronimo.framework modules - 2.2-SNAPSHOT + 3.0-SNAPSHOT geronimo-jdbc + bundle Geronimo Framework, Modules :: JDBC Database driver that delegates to a DataSource from jndi. Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jdbc/src/main/java/org/apache/geronimo/jdbc/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -1,10 +1,9 @@ +.* *.iws *.ipr *.iml -.classpath -.project -.settings *.log junit*.properties +maven-eclipse.xml target bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/pom.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/pom.xml?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/pom.xml (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/pom.xml Sat Aug 29 00:51:12 2009 @@ -25,10 +25,11 @@ org.apache.geronimo.framework modules - 2.2-SNAPSHOT + 3.0-SNAPSHOT geronimo-jmx-remoting + bundle Geronimo Framework, Modules :: JMX Remoting Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/main/java/org/apache/geronimo/jmxremoting/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-jmx-remoting/src/test/java/org/apache/geronimo/jmxremoting/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -1,10 +1,9 @@ +.* *.iws *.ipr *.iml -.classpath -.project -.settings *.log junit*.properties +maven-eclipse.xml target bin Modified: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/pom.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/pom.xml?rev=809078&r1=809077&r2=809078&view=diff ============================================================================== --- geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/pom.xml (original) +++ geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/pom.xml Sat Aug 29 00:51:12 2009 @@ -25,14 +25,19 @@ org.apache.geronimo.framework modules - 2.2-SNAPSHOT + 3.0-SNAPSHOT geronimo-kernel + bundle Geronimo Framework, Modules :: Kernel + org.apache.felix + org.osgi.core + + org.slf4j slf4j-log4j12 @@ -76,6 +81,44 @@ ${version} test + + + org.apache.geronimo.framework + geronimo-crypto + ${version} + + + + org.ops4j.pax.exam + pax-exam + test + + + org.ops4j.pax.exam + pax-exam-junit + test + + + org.ops4j.pax.exam + pax-exam-container-default + test + + + org.ops4j.pax.exam + pax-exam-junit-extender-impl + test + + + org.ops4j.pax.runner + pax-runner-no-jcl + test + + + junit + junit + test + + @@ -92,17 +135,17 @@ - - + + - + - + - + - + Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin Propchange: geronimo/sandbox/djencks/osgi/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Aug 29 00:51:12 2009 @@ -0,0 +1,9 @@ +.* +*.iws +*.ipr +*.iml +*.log +junit*.properties +maven-eclipse.xml +target +bin