Hi David,

It seems that this is related to this JIRA issue:

 [ http://nagoya.apache.org/jira/browse/GERONIMO-504?page=comments#action_55900 
]

that Jeremy has commented.

Thanks,
Gianny

On 26/01/2005 8:33 AM, David Jencks wrote:

I'd like to check that this doesn't violate any philosophical principles behind deployment. I think that all classes used at runtime should be available at deployment time: this patch checks that all dependencies are in fact present at deployment time. Any arguments?

thanks
david jencks

On Jan 25, 2005, at 1:30 PM, [EMAIL PROTECTED] wrote:

Author: djencks
Date: Tue Jan 25 13:30:16 2005
New Revision: 126427

URL: http://svn.apache.org/viewcvs?view=rev&rev=126427
Log:
If a dependency is missing, let us know immediately, not when a class can't be loaded
Modified:
geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ deployment/service/ServiceConfigBuilder.java


Modified: geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ deployment/service/ServiceConfigBuilder.java
Url: http://svn.apache.org/viewcvs/geronimo/trunk/modules/service-builder/ src/java/org/apache/geronimo/deployment/service/ ServiceConfigBuilder.java?view=diff&rev=126427&p1=geronimo/trunk/ modules/service-builder/src/java/org/apache/geronimo/deployment/ service/ServiceConfigBuilder.java&r1=126426&p2=geronimo/trunk/modules/ service-builder/src/java/org/apache/geronimo/deployment/service/ ServiceConfigBuilder.java&r2=126427
======================================================================= =======
--- geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ deployment/service/ServiceConfigBuilder.java (original)
+++ geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ deployment/service/ServiceConfigBuilder.java Tue Jan 25 13:30:16 2005
@@ -53,6 +53,7 @@
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.config.ConfigurationModuleType;
import org.apache.geronimo.kernel.repository.Repository;
+import org.apache.geronimo.kernel.repository.MissingDependencyException;
import org.apache.xmlbeans.XmlException;


/**
@@ -153,7 +154,7 @@
public static void addIncludes(DeploymentContext context, DependencyType[] includes, Repository repository) throws DeploymentException {
for (int i = 0; i < includes.length; i++) {
DependencyType include = includes[i];
- URI uri = getDependencyURI(include);
+ URI uri = getDependencyURI(include, repository);
String name = uri.toString();
int idx = name.lastIndexOf('/');
if (idx != -1) {
@@ -176,7 +177,7 @@


public static void addDependencies(DeploymentContext context, DependencyType[] deps, Repository repository) throws DeploymentException {
for (int i = 0; i < deps.length; i++) {
- URI dependencyURI = getDependencyURI(deps[i]);
+ URI dependencyURI = getDependencyURI(deps[i], repository);
context.addDependency(dependencyURI);


             URL url;
@@ -264,7 +265,7 @@
         return gBeanData;
     }

- private static URI getDependencyURI(DependencyType dep) throws DeploymentException {
+ private static URI getDependencyURI(DependencyType dep, Repository repository) throws DeploymentException {
URI uri;
if (dep.isSetUri()) {
try {
@@ -280,6 +281,9 @@
} catch (URISyntaxException e) {
throw new DeploymentException("Unable to construct URI for groupId=" + dep.getGroupId() + ", artifactId=" + dep.getArtifactId() + ", version=" + dep.getVersion(), e);
}
+ }
+ if (!repository.hasURI(uri)) {
+ throw new DeploymentException(new MissingDependencyException("uri " + uri + " not found in repository"));
}
return uri;
}







Reply via email to