You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2012/04/02 17:58:26 UTC
svn commit: r1308406 - in /geronimo/server/branches/3.0-beta:
framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/
framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/
framework/modules/geronimo-ker...
Author: xuhaihong
Date: Mon Apr 2 15:58:25 2012
New Revision: 1308406
URL: http://svn.apache.org/viewvc?rev=1308406&view=rev
Log:
GERONIMO-6313 Use the same reference:file format
Modified:
geronimo/server/branches/3.0-beta/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/DependencyManager.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/BundleUtil.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java
geronimo/server/branches/3.0-beta/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java
geronimo/server/branches/3.0-beta/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/GeronimoApplication.java
geronimo/server/branches/3.0-beta/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java Mon Apr 2 15:58:25 2012
@@ -68,6 +68,7 @@ import org.apache.geronimo.kernel.reposi
import org.apache.geronimo.kernel.repository.Dependency;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.kernel.repository.Repository;
+import org.apache.geronimo.kernel.util.BundleUtil;
import org.apache.geronimo.system.plugin.model.ArtifactType;
import org.apache.geronimo.system.plugin.model.DependencyType;
import org.apache.geronimo.system.plugin.model.PluginArtifactType;
@@ -198,7 +199,7 @@ public class DeploymentContext {
ConfigurationData configurationData = new ConfigurationData(moduleType, null, childConfigurationDatas, environment, baseDir, inPlaceConfigurationDir, naming);
createTempManifest();
createPluginMetadata();
- String location = "reference:" + getConfigurationDir().toURI().toURL();
+ String location = BundleUtil.toReferenceFileLocation(getConfigurationDir());
tempBundle = bundleContext.installBundle(location);
if (BundleUtils.canStart(tempBundle)) {
tempBundle.start(Bundle.START_TRANSIENT);
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/DependencyManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/DependencyManager.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/DependencyManager.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/DependencyManager.java Mon Apr 2 15:58:25 2012
@@ -17,10 +17,10 @@
package org.apache.geronimo.kernel;
-import org.apache.geronimo.gbean.AbstractName;
-
import java.util.Set;
+import org.apache.geronimo.gbean.AbstractName;
+
/**
* DependencyManager is the record keeper of the dependencies in Geronimo. The DependencyManager
* does not enforce any dependencies, it is simply a place where components can register their intent
@@ -66,7 +66,7 @@ public interface DependencyManager {
* @param child the dependent component
* @param parents the set of components the child is depending on
*/
- public void addDependencies(AbstractName child, Set parents);
+ public void addDependencies(AbstractName child, Set<AbstractName> parents);
/**
* Gets the set of parents that the child is depending on
@@ -74,7 +74,7 @@ public interface DependencyManager {
* @param child the dependent component
* @return a collection containing all of the components the child depends on; will never be null
*/
- public Set getParents(AbstractName child);
+ public Set<AbstractName> getParents(AbstractName child);
/**
* Gets all of the MBeans that have a dependency on the specified startParent.
@@ -82,6 +82,6 @@ public interface DependencyManager {
* @param parent the component the returned childen set depend on
* @return a collection containing all of the components that depend on the parent; will never be null
*/
- public Set getChildren(AbstractName parent);
+ public Set<AbstractName> getChildren(AbstractName parent);
}
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java Mon Apr 2 15:58:25 2012
@@ -18,6 +18,7 @@
package org.apache.geronimo.kernel.config;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -44,6 +45,7 @@ import org.apache.geronimo.kernel.Naming
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.kernel.repository.MissingDependencyException;
+import org.apache.geronimo.kernel.util.BundleUtil;
import org.apache.xbean.osgi.bundle.util.DelegatingBundle;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -274,16 +276,18 @@ public class Configuration implements GB
}
try {
File file = configurationResolver.resolve(configurationId);
- return "reference:file://" + file.getAbsolutePath();
+ return BundleUtil.toReferenceFileLocation(file);
} catch (MissingDependencyException e) {
return null;
+ } catch (IOException e) {
+ return null;
}
}
private static Bundle getBundleByLocation(BundleContext bundleContext, String location) {
for (Bundle bundle: bundleContext.getBundles()) {
if (location.equals(bundle.getLocation())) {
- return bundle;
+ return bundle;
}
}
return null;
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java Mon Apr 2 15:58:25 2012
@@ -42,6 +42,7 @@ import org.apache.geronimo.kernel.reposi
import org.apache.geronimo.kernel.repository.MissingDependencyException;
import org.apache.geronimo.kernel.repository.Repository;
import org.apache.geronimo.kernel.repository.Version;
+import org.apache.geronimo.kernel.util.BundleUtil;
import org.apache.xbean.osgi.bundle.util.BundleUtils;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -624,7 +625,7 @@ public class SimpleConfigurationManager
monitor.reading(configurationId);
for (Repository repo : repositories) {
if (repo.contains(configurationId)) {
- return "reference:file://" + repo.getLocation(configurationId).getAbsolutePath();
+ return BundleUtil.toReferenceFileLocation(repo.getLocation(configurationId));
}
}
NoSuchConfigException exception = new NoSuchConfigException(configurationId);
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/BundleUtil.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/BundleUtil.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/BundleUtil.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/BundleUtil.java Mon Apr 2 15:58:25 2012
@@ -35,7 +35,11 @@ public class BundleUtil {
public final static String EBA_GROUP_ID = "application";
- public final static String REFERENCE_FILE_PREFIX = "reference:file://";
+ public final static String REFERENCE_SCHEME = "reference:";
+
+ public final static String FILE_SCHEMA = "file:";
+
+ public final static String REFERENCE_FILE_SCHEMA = "reference:file:";
public static String getVersion(org.osgi.framework.Version version) {
String str = version.getMajor() + "." + version.getMinor() + "." + version.getMicro();
@@ -64,8 +68,8 @@ public class BundleUtil {
* @return
*/
public static File toFile(String url) {
- if (url.startsWith(REFERENCE_FILE_PREFIX)) {
- File file = new File(url.substring(REFERENCE_FILE_PREFIX.length()));
+ if (url.startsWith(REFERENCE_FILE_SCHEMA)) {
+ File file = new File(url.substring(REFERENCE_FILE_SCHEMA.length()));
if (file.exists()) {
return file;
}
@@ -74,6 +78,9 @@ public class BundleUtil {
}
public static String toReferenceFileLocation(File file) throws IOException {
- return REFERENCE_FILE_PREFIX + file.getCanonicalPath();
+ if (!file.exists()) {
+ throw new IOException("file not exist " + file.getAbsolutePath());
+ }
+ return REFERENCE_SCHEME + file.toURI();
}
}
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Bootstrapper.java Mon Apr 2 15:58:25 2012
@@ -126,7 +126,7 @@ public class Bootstrapper extends Framew
}
private String toReferenceFileLocation(File file) throws IOException {
- return "reference:file://" + file.getCanonicalPath();
+ return "reference:" + file.toURI().toString();
}
private static File getBundleLocation(List<File> bundleDirs, String[] parts) {
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/FrameworkLauncher.java Mon Apr 2 15:58:25 2012
@@ -436,7 +436,7 @@ public class FrameworkLauncher {
}
private String toReferenceFileLocation(File file) throws IOException {
- return "reference:file://" + file.getCanonicalPath();
+ return "reference:" + file.toURI().toString();
}
private static File findFile(List<File> bundleDirs, String name) {
Modified: geronimo/server/branches/3.0-beta/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java (original)
+++ geronimo/server/branches/3.0-beta/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/DependencyManager.java Mon Apr 2 15:58:25 2012
@@ -213,14 +213,15 @@ public class DependencyManager implement
}
return new Artifact(artifactFragments[0], artifactFragments[1], artifactFragments.length > 2 ? artifactFragments[2] : "",
artifactFragments.length > 3 && artifactFragments[3].length() > 0 ? artifactFragments[3] : "jar");
- } else if(installationLocation.startsWith("reference:file://")) {
+ } else if(installationLocation.startsWith(BundleUtil.REFERENCE_SCHEME)) {
+ log.info("reference:file checking");
//TODO a better way for this ???
- installationLocation = installationLocation.substring("reference:file://".length());
+ String bundleFilePath = BundleUtil.toFile(installationLocation).getAbsolutePath();
for (Repository repo : repositories) {
if (repo instanceof AbstractRepository) {
File rootFile = ((AbstractRepository) repo).getRootFile();
- if (installationLocation.startsWith(rootFile.getAbsolutePath())) {
- String artifactString = installationLocation.substring(rootFile.getAbsolutePath().length());
+ if (bundleFilePath.startsWith(rootFile.getAbsolutePath())) {
+ String artifactString = bundleFilePath.substring(rootFile.getAbsolutePath().length());
if (artifactString.startsWith(File.separator)) {
artifactString = artifactString.substring(File.separator.length());
}
@@ -299,6 +300,7 @@ public class DependencyManager implement
} else {
artifact = pluginArtifactType.getModuleId().toArtifact();
}
+ log.info(bundle.getLocation() + " ---> " + artifact);
if (artifact != null) {
artifactBundleMap.put(artifact, bundle);
bundleIdArtifactMap.put(bundle.getBundleId(), artifact);
Modified: geronimo/server/branches/3.0-beta/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/GeronimoApplication.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/GeronimoApplication.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/GeronimoApplication.java (original)
+++ geronimo/server/branches/3.0-beta/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/GeronimoApplication.java Mon Apr 2 15:58:25 2012
@@ -117,7 +117,7 @@ public class GeronimoApplication impleme
}
BundleManifest bm = BundleManifest.fromBundle(file);
if (bm != null && bm.isValid()) {
- bundleInfo.add(new SimpleBundleInfo(applicationFactory, bm, "reference:file://" + file.getCanonicalPath()));
+ bundleInfo.add(new SimpleBundleInfo(applicationFactory, bm, BundleUtil.toReferenceFileLocation(file)));
}
}
}
Modified: geronimo/server/branches/3.0-beta/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java?rev=1308406&r1=1308405&r2=1308406&view=diff
==============================================================================
--- geronimo/server/branches/3.0-beta/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java (original)
+++ geronimo/server/branches/3.0-beta/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Mon Apr 2 15:58:25 2012
@@ -514,10 +514,9 @@ public class GeronimoStandardContext ext
}
protected DirContext createDirContext(TomcatContext tomcatContext) throws DeploymentException {
- String location = bundle.getLocation();
- if (location.startsWith("reference:file://")) {
- location = location.substring("reference:file://".length());
- File applicationRoot = tomcatContext.getModulePath() == null ? new File(location) : new File(location + File.separator + tomcatContext.getModulePath());
+ File bundleFileRoot = BundleUtil.toFile(bundle);
+ if (bundleFileRoot != null) {
+ File applicationRoot = tomcatContext.getModulePath() == null ? bundleFileRoot : new File(bundleFileRoot, tomcatContext.getModulePath());
if (applicationRoot.exists() && applicationRoot.isDirectory()) {
return createFileDirContext(tomcatContext, applicationRoot);
}