You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kato-commits@incubator.apache.org by sp...@apache.org on 2009/06/05 19:38:47 UTC
svn commit: r782113 -
/incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java
Author: spoole
Date: Fri Jun 5 19:38:46 2009
New Revision: 782113
URL: http://svn.apache.org/viewvc?rev=782113&view=rev
Log:
updated xpath tool in katoview to be more userfriendly
Modified:
incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java
Modified: incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java?rev=782113&r1=782112&r2=782113&view=diff
==============================================================================
--- incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java (original)
+++ incubator/kato/branches/experimental/maven_restructure/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/XPathCommand.java Fri Jun 5 19:38:46 2009
@@ -19,6 +19,9 @@
import org.apache.commons.jxpath.JXPathContext;
import org.apache.kato.image.Image;
+import org.apache.kato.image.ImageAddressSpace;
+import org.apache.kato.image.ImageProcess;
+import org.apache.kato.java.JavaRuntime;
import org.apache.kato.katoview.Output;
/**
@@ -50,6 +53,8 @@
public void doCommand(Stack args, Image loadedImage, HashMap properties) {
String path = "";
+ JavaRuntime runtime=null;
+
if (args.size() == 0 || args.size() > 2) {
out.println(LONG_DESCRIPTION);
return;
@@ -58,7 +63,14 @@
} else if (args.size() == 2) {
if (args.get(1).equals("runtime")) {
- path = (String) "addressSpaces/currentProcess/runtimes/"+args.get(0);
+ JavaRuntime rt=getJavaRuntime(loadedImage);
+ if(rt==null) {
+ out.println("Unable to locate Java Runtime");
+ return;
+
+ }
+ runtime=rt;
+ path = (String) args.get(0);
} else {
out.println(LONG_DESCRIPTION);
return;
@@ -66,8 +78,14 @@
}
+ JXPathContext context =null;
+ if(runtime!=null) {
+ context = JXPathContext.newContext(runtime);
+ }
+ else {
+ context=JXPathContext.newContext(loadedImage);
+ }
- JXPathContext context = JXPathContext.newContext(loadedImage);
Iterator values = context.iterate(path);
int count=1;
@@ -87,4 +105,28 @@
}
}
+ /**
+ * retrieves first javaruntime from image
+ *
+ * @param loadedImage
+ *
+ * @return
+ */
+ private JavaRuntime getJavaRuntime(Image loadedImage) {
+
+ for(Object space:loadedImage.getAddressSpaces()) {
+ if(space instanceof ImageAddressSpace ) {
+ ImageAddressSpace addr=(ImageAddressSpace) space;
+ ImageProcess process=addr.getCurrentProcess();
+ if(process!=null) {
+ for(Object rt:process.getRuntimes()) {
+ if(rt instanceof JavaRuntime) return (JavaRuntime) rt;
+ }
+ }
+
+ }
+ }
+ return null;
+ }
+
}