You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2010/04/12 10:46:15 UTC
svn commit: r933144 - in
/jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone:
Main.java cli/JcrClient.java
Author: jukka
Date: Mon Apr 12 08:46:15 2010
New Revision: 933144
URL: http://svn.apache.org/viewvc?rev=933144&view=rev
Log:
JCR-2457: Command line access to remote repositories
Automatic anonymous login at cli startup.
Display a * in the prompt when there are unsaved changes.
Modified:
jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/Main.java
jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/cli/JcrClient.java
Modified: jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/Main.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/Main.java?rev=933144&r1=933143&r2=933144&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/Main.java (original)
+++ jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/Main.java Mon Apr 12 08:46:15 2010
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.net.URL;
import javax.jcr.Repository;
+import javax.jcr.Session;
import org.apache.commons.chain.Context;
import org.apache.commons.chain.impl.ContextBase;
@@ -119,7 +120,10 @@ public class Main {
Context context = new ContextBase();
String uri = command.getOptionValue("cli");
Repository repository = JcrUtils.getRepository(uri);
+ Session session = repository.login();
CommandHelper.setRepository(context, repository, uri);
+ CommandHelper.setSession(context, session);
+ CommandHelper.setCurrentNode(context, session.getRootNode());
new JcrClient(context).runInteractive();
} else {
message("Welcome to Apache Jackrabbit!");
Modified: jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/cli/JcrClient.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/cli/JcrClient.java?rev=933144&r1=933143&r2=933144&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/cli/JcrClient.java (original)
+++ jackrabbit/trunk/jackrabbit-standalone/src/main/java/org/apache/jackrabbit/standalone/cli/JcrClient.java Mon Apr 12 08:46:15 2010
@@ -314,8 +314,9 @@ public class JcrClient {
return bundle.getString("phrase.not.connected");
}
+ boolean unsaved = false;
try {
- CommandHelper.getSession(ctx);
+ unsaved = CommandHelper.getSession(ctx).hasPendingChanges();
} catch (CommandException e) {
return bundle.getString("phrase.not.logged.in");
}
@@ -323,12 +324,18 @@ public class JcrClient {
try {
Node n = CommandHelper.getCurrentNode(ctx);
// the current node might be Invalid
+ String path;
try {
- return n.getPath();
+ path = n.getPath();
} catch (InvalidItemStateException e) {
CommandHelper.setCurrentNode(ctx, CommandHelper.getSession(ctx)
.getRootNode());
- return CommandHelper.getCurrentNode(ctx).getPath();
+ path = CommandHelper.getCurrentNode(ctx).getPath();
+ }
+ if (unsaved) {
+ return path + "*";
+ } else {
+ return path;
}
} catch (CommandException e) {
return bundle.getString("phrase.not.logged.in");