You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/05/06 19:56:17 UTC
svn commit: r1100303 - in /subversion/trunk/subversion/bindings/javahl:
native/CreateJ.cpp src/org/apache/subversion/javahl/types/Status.java
src/org/tigris/subversion/javahl/Status.java
Author: hwright
Date: Fri May 6 17:56:16 2011
New Revision: 1100303
URL: http://svn.apache.org/viewvc?rev=1100303&view=rev
Log:
JavaHL: Provide information about the local lock in Status with a Lock object,
rather than several individual objects.
[ in subversion/bindings/javahl/ ]
* native/CreateJ.cpp
(Status): Create and return a Lock object, rather than separate fields.
* src/org/apache/subversion/javahl/types/Status.java
(lockToken, lockOwner, lockComment, lockCreationDate): Remove, along with
getters.
(localLock): New, with getter.
(Status): Adjust constructor params.
* src/org/tigris/subversion/javahl/Status.java
(populateLocalLock): New.
(Status): Use the above helper to maintain compat.
Modified:
subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java
Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=1100303&r1=1100302&r2=1100303&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Fri May 6 17:56:16 2011
@@ -501,10 +501,9 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
- "ZZZLjava/lang/String;"
- "JZZLjava/lang/String;Ljava/lang/String;"
- "Ljava/lang/String;"
- "JL"JAVA_PACKAGE"/types/Lock;"
+ "ZZZLjava/lang/String;JZZ"
+ "L"JAVA_PACKAGE"/types/Lock;"
+ "L"JAVA_PACKAGE"/types/Lock;"
"JJL"JAVA_PACKAGE"/types/NodeKind;"
"Ljava/lang/String;Ljava/lang/String;)V");
if (JNIUtil::isJavaExceptionThrown())
@@ -526,10 +525,7 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
jstring jURLCopiedFrom = NULL;
jlong jRevisionCopiedFrom =
org_apache_subversion_javahl_types_Revision_SVN_INVALID_REVNUM;
- jstring jLockToken = NULL;
- jstring jLockComment = NULL;
- jstring jLockOwner = NULL;
- jlong jLockCreationDate = 0;
+ jobject jLocalLock = NULL;
jstring jChangelist = NULL;
enum svn_wc_status_kind text_status = status->node_status;
@@ -556,7 +552,7 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jobject jLock = CreateJ::Lock(status->repos_lock);
+ jobject jReposLock = CreateJ::Lock(status->repos_lock);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
@@ -588,22 +584,9 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- if (status->lock)
- {
- jLockToken = JNIUtil::makeJString(status->lock->token);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- jLockComment = JNIUtil::makeJString(status->lock->comment);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- jLockOwner = JNIUtil::makeJString(status->lock->owner);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- jLockCreationDate = status->lock->creation_date;
- }
+ jLocalLock = Lock(status->lock);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
jChangelist = JNIUtil::makeJString(status->changelist);
if (JNIUtil::isJavaExceptionThrown())
@@ -639,9 +622,8 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
jRepositoryTextType, jRepositoryPropType,
jIsLocked, jIsCopied, jIsConflicted,
jURLCopiedFrom, jRevisionCopiedFrom,
- jIsSwitched, jIsFileExternal, jLockToken,
- jLockOwner,
- jLockComment, jLockCreationDate, jLock,
+ jIsSwitched, jIsFileExternal, jLocalLock,
+ jReposLock,
jOODLastCmtRevision, jOODLastCmtDate,
jOODKind, jOODLastCmtAuthor, jChangelist);
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java?rev=1100303&r1=1100302&r2=1100303&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Status.java Fri May 6 17:56:16 2011
@@ -137,25 +137,9 @@ public class Status implements java.io.S
private long revisionCopiedFrom;
/**
- * token specified for the lock (null if not locked)
+ * the current lock
*/
- private String lockToken;
-
- /**
- * owner of the lock (null if not locked)
- */
- private String lockOwner;
-
- /**
- * comment specified for the lock (null if not locked)
- */
- private String lockComment;
-
- /**
- * date of the creation of the lock (represented in microseconds
- * since the epoch)
- */
- private long lockCreationDate;
+ private Lock localLock;
/**
* the lock in the repository
@@ -222,10 +206,7 @@ public class Status implements java.io.S
* @param switched flag if the node has been switched in the
* path
* @param fileExternal flag if the node is a file external
- * @param lockToken the token for the current lock if any
- * @param lockOwner the owner of the current lock is any
- * @param lockComment the comment of the current lock if any
- * @param lockCreationDate the date, the lock was created if any
+ * @param localLock the current lock
* @param reposLock the lock as stored in the repository if
* any
* @param reposLastCmtRevision the youngest revision, if out of date
@@ -242,8 +223,7 @@ public class Status implements java.io.S
Kind repositoryTextStatus, Kind repositoryPropStatus,
boolean locked, boolean copied, boolean isConflicted,
String urlCopiedFrom, long revisionCopiedFrom,
- boolean switched, boolean fileExternal, String lockToken,
- String lockOwner, String lockComment, long lockCreationDate,
+ boolean switched, boolean fileExternal, Lock localLock,
Lock reposLock, long reposLastCmtRevision,
long reposLastCmtDate, NodeKind reposKind,
String reposLastCmtAuthor, String changelist)
@@ -266,10 +246,7 @@ public class Status implements java.io.S
this.revisionCopiedFrom = revisionCopiedFrom;
this.switched = switched;
this.fileExternal = fileExternal;
- this.lockToken = lockToken;
- this.lockOwner = lockOwner;
- this.lockComment = lockComment;
- this.lockCreationDate = lockCreationDate;
+ this.localLock = localLock;
this.reposLock = reposLock;
this.reposLastCmtRevision = reposLastCmtRevision;
this.reposLastCmtDate = reposLastCmtDate;
@@ -563,49 +540,12 @@ public class Status implements java.io.S
}
/**
- * Returns the lock token
- * @return the lock token
- */
- public String getLockToken()
- {
- return lockToken;
- }
-
- /**
- * Returns the lock owner
- * @return the lock owner
- */
- public String getLockOwner()
- {
- return lockOwner;
- }
-
- /**
- * Returns the lock comment
- * @return the lock comment
- */
- public String getLockComment()
- {
- return lockComment;
- }
-
- /**
- * Returns the lock creation date
- * @return the lock creation date
- */
- public Date getLockCreationDate()
- {
- return microsecondsToDate(lockCreationDate);
- }
-
- /**
- * Returns the lock creation date measured in the number of
- * microseconds since 00:00:00 January 1, 1970 UTC.
- * @return the lock creation date
+ * Returns the local lock
+ * @return the local lock
*/
- public long getLockCreationDateMicros()
+ public Lock getLocalLock()
{
- return lockCreationDate;
+ return localLock;
}
/**
Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java?rev=1100303&r1=1100302&r2=1100303&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Status.java Fri May 6 17:56:16 2011
@@ -384,6 +384,18 @@ public class Status implements java.io.S
}
}
+ void
+ populateLocalLock(org.apache.subversion.javahl.types.Lock aLock)
+ {
+ if (aLock == null)
+ return;
+
+ this.lockToken = aLock.getToken();
+ this.lockOwner = aLock.getOwner();
+ this.lockComment = aLock.getComment();
+ this.lockCreationDate = aLock.getCreationDate().getTime() * 1000;;
+ }
+
/**
* A backward-compat wrapper.
*/
@@ -402,9 +414,7 @@ public class Status implements java.io.S
aStatus.isLocked(), aStatus.isCopied(), false,
null, null, null, null, aStatus.getUrlCopiedFrom(),
aStatus.getRevisionCopiedFromNumber(), aStatus.isSwitched(),
- aStatus.isFileExternal(), aStatus.getLockToken(),
- aStatus.getLockOwner(), aStatus.getLockComment(),
- aStatus.getLockCreationDateMicros(),
+ aStatus.isFileExternal(), null, null, null, 0,
aStatus.getReposLock() == null ? null
: new Lock(aStatus.getReposLock()),
aStatus.getReposLastCmtRevisionNumber(),
@@ -415,6 +425,8 @@ public class Status implements java.io.S
try {
if (aStatus.isConflicted())
populateConflicts(aClient, aStatus.getPath());
+ if (aStatus.getLocalLock() != null)
+ populateLocalLock(aStatus.getLocalLock());
} catch (org.apache.subversion.javahl.ClientException ex) {
// Ignore
}