diff options
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java')
-rw-r--r-- | plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java | 103 |
1 files changed, 29 insertions, 74 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java index 6e1b1db1efa2..42929885f364 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/info/SvnInfoStructure.java @@ -15,17 +15,18 @@ */ package org.jetbrains.idea.svn.info; -import com.intellij.util.containers.ContainerUtil; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.svn.api.Depth; +import org.jetbrains.idea.svn.api.NodeKind; +import org.jetbrains.idea.svn.conflict.ConflictAction; +import org.jetbrains.idea.svn.conflict.ConflictOperation; +import org.jetbrains.idea.svn.conflict.ConflictReason; +import org.jetbrains.idea.svn.lock.Lock; import org.tmatesoft.svn.core.*; -import org.tmatesoft.svn.core.internal.wc.SVNConflictVersion; -import org.tmatesoft.svn.core.wc.*; import org.xml.sax.SAXException; import java.io.File; import java.util.Date; -import java.util.Map; /** * Created with IntelliJ IDEA. @@ -35,46 +36,28 @@ import java.util.Map; */ public class SvnInfoStructure { - private static final Map<String, SVNConflictAction> ourConflictActions = ContainerUtil.newHashMap(); - private static final Map<String, SVNConflictReason> ourConflictReasons = ContainerUtil.newHashMap(); - - static { - ourConflictActions.put("add", SVNConflictAction.ADD); - ourConflictActions.put("edit", SVNConflictAction.EDIT); - ourConflictActions.put("delete", SVNConflictAction.DELETE); - ourConflictActions.put("replace", SVNConflictAction.REPLACE); - - ourConflictReasons.put("edit", SVNConflictReason.EDITED); - ourConflictReasons.put("obstruct", SVNConflictReason.OBSTRUCTED); - ourConflictReasons.put("delete", SVNConflictReason.DELETED); - ourConflictReasons.put("miss", SVNConflictReason.MISSING); - ourConflictReasons.put("unversion", SVNConflictReason.UNVERSIONED); - ourConflictReasons.put("add", SVNConflictReason.ADDED); - ourConflictReasons.put("replace", SVNConflictReason.REPLACED); - } - @Nullable public File myFile; public String relativeUrl; public SVNURL myUrl; public SVNURL myRootURL; public long myRevision; - public SVNNodeKind myKind; + public NodeKind myKind; public String myUuid; public long myCommittedRevision; - public Date myCommittedDate; + public String myCommittedDate; public String myAuthor; public String mySchedule; public SVNURL myCopyFromURL; public long myCopyFromRevision; - public Date myTextTime; + public String myTextTime; public String myPropTime; public String myChecksum; public String myConflictOld; public String myConflictNew; public String myConflictWorking; public String myPropRejectFile; - public SVNLockWrapper myLockWrapper; - public SVNDepth myDepth; + public Lock.Builder myLockBuilder; + public Depth myDepth; public String myChangelistName; public long myWcSize; public Date myCorrectCommittedDate; @@ -82,65 +65,37 @@ public class SvnInfoStructure { public TreeConflictDescription myTreeConflict; - public SVNInfo convert() throws SAXException, SVNException { - return new IdeaSVNInfo(myFile, myUrl, myRootURL, myRevision, myKind, myUuid, myCommittedRevision, myCommittedDate, myAuthor, mySchedule, - myCopyFromURL, myCopyFromRevision, myTextTime, myPropTime, myChecksum, myConflictOld, myConflictNew, myConflictWorking, - myPropRejectFile, getLock(), myDepth, myChangelistName, myWcSize, createTreeConflict()); + public Info convert() throws SAXException, SVNException { + return new Info(myFile, myUrl, myRootURL, myRevision, myKind, myUuid, myCommittedRevision, myCommittedDate, myAuthor, mySchedule, + myCopyFromURL, myCopyFromRevision, myConflictOld, myConflictNew, myConflictWorking, + myPropRejectFile, getLock(), myDepth, createTreeConflict()); } - private SVNLock getLock() { - SVNLock lock = null; - - if (myLockWrapper != null) { - myLockWrapper.setPath(relativeUrl); - lock = myLockWrapper.create(); - } - - return lock; + @Nullable + private Lock getLock() { + return myLockBuilder != null ? myLockBuilder.build() : null; } - private SVNTreeConflictDescription createTreeConflict() throws SAXException, SVNException { + private org.jetbrains.idea.svn.conflict.TreeConflictDescription createTreeConflict() throws SAXException, SVNException { if (myTreeConflict == null) { return null; } else { assert myFile != null; - final SVNConflictAction action = parseConflictAction(myTreeConflict.myAction); - final SVNConflictReason reason = parseConflictReason(myTreeConflict.myReason); - SVNOperation operation = SVNOperation.fromString(myTreeConflict.myOperation); - operation = operation == null ? SVNOperation.NONE : operation; - return new SVNTreeConflictDescription(myFile, myKind, action, reason, operation, - createVersion(myTreeConflict.mySourceLeft), - createVersion(myTreeConflict.mySourceRight)); + return new org.jetbrains.idea.svn.conflict.TreeConflictDescription(myFile, myKind, ConflictAction.from(myTreeConflict.myAction), + ConflictReason.from(myTreeConflict.myReason), + ConflictOperation.from(myTreeConflict.myOperation), + createVersion(myTreeConflict.mySourceLeft), + createVersion(myTreeConflict.mySourceRight)); } } - private SVNConflictAction parseConflictAction(@NotNull String actionName) { - SVNConflictAction action = SVNConflictAction.fromString(actionName); - action = action != null ? action : ourConflictActions.get(actionName); - - if (action == null) { - throw new IllegalArgumentException("Unknown conflict action " + actionName); - } - - return action; - } - - private SVNConflictReason parseConflictReason(@NotNull String reasonName) throws SAXException { - SVNConflictReason reason = SVNConflictReason.fromString(reasonName); - reason = reason != null ? reason : ourConflictReasons.get(reasonName); - - if (reason == null) { - throw new SAXException("Can not parse conflict reason: " + reasonName); - } - - return reason; - } - - private SVNConflictVersion createVersion(final ConflictVersion version) throws SVNException, SAXException { - return version == null ? null : new SVNConflictVersion(SVNURL.parseURIEncoded(version.myRepoUrl), version.myPathInRepo, - parseRevision(version.myRevision), SVNNodeKind.parseKind(version.myKind)); + private org.jetbrains.idea.svn.conflict.ConflictVersion createVersion(final ConflictVersion version) throws SVNException, SAXException { + return version == null + ? null + : new org.jetbrains.idea.svn.conflict.ConflictVersion(SVNURL.parseURIEncoded(version.myRepoUrl), version.myPathInRepo, + parseRevision(version.myRevision), NodeKind.from(version.myKind)); } private long parseRevision(final String revision) throws SAXException { |