You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2011/04/28 21:05:13 UTC
svn commit: r1097576 -
/geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java
Author: gawor
Date: Thu Apr 28 19:05:13 2011
New Revision: 1097576
URL: http://svn.apache.org/viewvc?rev=1097576&view=rev
Log:
GERONIMO-5926: Minor improvements to eba:resolve
Modified:
geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java
Modified: geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java?rev=1097576&r1=1097575&r2=1097576&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java (original)
+++ geronimo/server/trunk/plugins/aries/geronimo-aries-shell/src/main/java/org/apache/geronimo/aries/shell/ResolveApplication.java Thu Apr 28 19:05:13 2011
@@ -22,6 +22,7 @@ package org.apache.geronimo.aries.shell;
import java.io.File;
import java.io.FileOutputStream;
+import org.apache.aries.application.filesystem.IDirectory;
import org.apache.aries.application.management.AriesApplication;
import org.apache.aries.application.management.AriesApplicationManager;
import org.apache.aries.application.utils.filesystem.FileSystem;
@@ -37,10 +38,10 @@ import org.osgi.framework.ServiceReferen
@Command(scope = "eba", name = "resolve", description = "Resolve Aries Application")
public class ResolveApplication extends OsgiCommandSupport {
- @Argument(required = true, description = "Aries Application location")
+ @Argument(required = true, description = "File name of an unresolved Aries Application")
String applicationPath;
- @Option(name = "-o", aliases = { "--out" }, description = "Location to output the resolved application")
+ @Option(name = "-o", aliases = { "--out" }, description = "File name to store the resolved application in")
String resovledApplicationPath;
protected AriesApplicationManager getAriesApplicationManager() {
@@ -52,8 +53,13 @@ public class ResolveApplication extends
@Override
protected Object doExecute() throws Exception {
File sourceApplication = new File(applicationPath);
+ IDirectory in = FileSystem.getFSRoot(sourceApplication);
+ if (in == null) {
+ System.err.println("File not found: " + applicationPath);
+ return in;
+ }
AriesApplicationManager manager = getAriesApplicationManager();
- AriesApplication application = manager.createApplication(FileSystem.getFSRoot(sourceApplication));
+ AriesApplication application = manager.createApplication(in);
if (application.isResolved()) {
System.out.println("Application " + application.getApplicationMetadata().getApplicationSymbolicName() + " is already resolved.");
@@ -63,22 +69,28 @@ public class ResolveApplication extends
AriesApplication resolved = manager.resolve(application);
File targetApplication = null;
if (resovledApplicationPath == null) {
- targetApplication = new File(applicationPath + ".tmp");
+ String baseName = null;
+ if (applicationPath.endsWith(".eba")) {
+ baseName = applicationPath.substring(0, applicationPath.length() - 4);
+ } else {
+ baseName = applicationPath;
+ }
+ targetApplication = new File(baseName + ".resolved.eba");
} else {
targetApplication = new File(resovledApplicationPath);
}
+
+ System.out.println("Application " + application.getApplicationMetadata().getApplicationSymbolicName() + " was successfully resolved.");
+ System.out.println("Writing the resolved application to " + targetApplication);
+
FileOutputStream os = new FileOutputStream(targetApplication);
try {
resolved.store(os);
} finally {
os.close();
}
- if (resovledApplicationPath == null) {
- targetApplication.renameTo(sourceApplication);
- targetApplication.delete();
- }
-
- System.out.println("Application " + application.getApplicationMetadata().getApplicationSymbolicName() + " is now resolved.");
+
+ System.out.println("Done.");
}
return null;