From 8a4f6f209f515677a914912314bd70a5904d239c Mon Sep 17 00:00:00 2001 From: Alexander Fedorov Date: Sun, 11 Feb 2024 21:54:57 +0300 Subject: [PATCH] [#10] Set notification callback to the SVNKit client * start implementing adapters --- .../adapt/ClientNotifyCallbackAdapter.java | 39 ++++++ .../ClientNotifyInformationActionAdapter.java | 122 ++++++++++++++++++ .../adapt/ClientNotifyInformationAdapter.java | 46 +++++++ .../ClientNotifyInformationStatusAdapter.java | 56 ++++++++ .../connector/internal/adapt/LockAdapter.java | 43 ++++++ .../internal/adapt/LockStatusAdapter.java | 51 ++++++++ .../internal/adapt/NodeKindAdapter.java | 50 +++++++ .../internal/adapt/StatusKindAdapter.java | 60 +++++++++ .../internal/adapt/SvnTypeAdapter.java | 27 ++++ .../internal/adapt/SvnTypeConstructor.java | 32 +++++ .../connector/internal/adapt/SvnTypeMap.java | 45 +++++++ .../internal/adapt/TypeStatusAdapter.java | 63 +++++++++ .../svnkit1_10/SvnKit1_10Connector.java | 64 ++++++++- 13 files changed, 696 insertions(+), 2 deletions(-) create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyCallbackAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationActionAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationStatusAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockStatusAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/NodeKindAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/StatusKindAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeAdapter.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeConstructor.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeMap.java create mode 100644 bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/TypeStatusAdapter.java diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyCallbackAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyCallbackAdapter.java new file mode 100644 index 0000000..4216611 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyCallbackAdapter.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import org.eclipse.team.svn.core.connector.ISVNNotificationCallback; + +public final class ClientNotifyCallbackAdapter implements org.apache.subversion.javahl.callback.ClientNotifyCallback { + + private final ISVNNotificationCallback callback; + + public ClientNotifyCallbackAdapter(ISVNNotificationCallback notify) { + callback = notify; + } + + public ISVNNotificationCallback callback() { + return callback; + } + + public void onNotify(org.apache.subversion.javahl.ClientNotifyInformation info) { + callback.notify(new ClientNotifyInformationAdapter(info).adapt()); + } +} \ No newline at end of file diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationActionAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationActionAdapter.java new file mode 100644 index 0000000..91fe7a4 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationActionAdapter.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.apache.subversion.javahl.ClientNotifyInformation.Action; +import org.eclipse.team.svn.core.connector.SVNNotification; +import org.eclipse.team.svn.core.connector.SVNNotification.PerformedAction; + +final class ClientNotifyInformationActionAdapter extends SvnTypeMap { + + ClientNotifyInformationActionAdapter(Action source) { + super(source); + } + + @Override + protected Map fill() { + Map map = new LinkedHashMap<>(); + map.put(Action.add, PerformedAction.ADD); + map.put(Action.blame_revision, PerformedAction.BLAME_REVISION); + map.put(Action.changelist_clear, PerformedAction.CHANGELIST_CLEAR); + map.put(Action.changelist_moved, PerformedAction.CHANGELIST_MOVED); + map.put(Action.changelist_set, PerformedAction.CHANGELIST_SET); + map.put(Action.commit_added, PerformedAction.COMMIT_ADDED); + map.put(Action.commit_copied, PerformedAction.COMMIT_COPIED); + map.put(Action.commit_copied_replaced, PerformedAction.COMMIT_COPIED_REPLACED); + map.put(Action.commit_deleted, PerformedAction.COMMIT_DELETED); + map.put(Action.commit_modified, PerformedAction.COMMIT_MODIFIED); + map.put(Action.commit_postfix_txdelta, PerformedAction.COMMIT_POSTFIX_TXDELTA); + map.put(Action.commit_replaced, PerformedAction.COMMIT_REPLACED); + map.put(Action.conflict_resolver_done, PerformedAction.CONFLICT_RESOLVER_DONE); + map.put(Action.conflict_resolver_starting, PerformedAction.CONFLICT_RESOLVER_STARTING); + map.put(Action.copy, PerformedAction.COPY); + map.put(Action.delete, PerformedAction.DELETE); + map.put(Action.exclude, PerformedAction.EXCLUDE); + map.put(Action.exists, PerformedAction.EXISTS); + map.put(Action.failed_conflict, PerformedAction.FAILED_CONFLICT); + map.put(Action.failed_external, PerformedAction.FAILED_EXTERNAL); + map.put(Action.failed_forbidden_by_server, PerformedAction.FAILED_FORBIDDEN_BY_SERVER); + map.put(Action.failed_lock, PerformedAction.FAILED_LOCK); + map.put(Action.failed_locked, PerformedAction.FAILED_LOCKED); + map.put(Action.failed_missing, PerformedAction.FAILED_MISSING); + map.put(Action.failed_no_parent, PerformedAction.FAILED_NO_PARENT); + map.put(Action.failed_obstructed, PerformedAction.FAILED_OBSTRUCTED); + map.put(Action.failed_out_of_date, PerformedAction.FAILED_OUT_OF_DATE); + map.put(Action.failed_revert, PerformedAction.FAILED_REVERT); + map.put(Action.failed_unlock, PerformedAction.FAILED_UNLOCK); + map.put(Action.foreign_copy_begin, PerformedAction.FOREIGN_COPY_BEGIN); + map.put(Action.foreign_merge_begin, PerformedAction.FOREIGN_MERGE_BEGIN); + map.put(Action.left_local_modifications, PerformedAction.LEFT_LOCAL_MODIFICATIONS); + map.put(Action.locked, PerformedAction.LOCKED); + map.put(Action.merge_begin, PerformedAction.MERGE_BEGIN); + map.put(Action.merge_completed, PerformedAction.MERGE_COMPLETED); + map.put(Action.merge_elide_info, PerformedAction.MERGE_ELIDE_INFO); + map.put(Action.merge_record_info, PerformedAction.MERGE_RECORD_INFO); + map.put(Action.merge_record_info_begin, PerformedAction.MERGE_RECORD_INFO_BEGIN); + map.put(Action.move_broken, PerformedAction.MOVE_BROKEN); + map.put(Action.patch, PerformedAction.PATCH); + map.put(Action.patch_applied_hunk, PerformedAction.PATCH_APPLIED_HUNK); + map.put(Action.patch_hunk_already_applied, PerformedAction.PATCH_HUNK_ALREADY_APPLIED); + map.put(Action.patch_rejected_hunk, PerformedAction.PATCH_REJECTED_HUNK); + map.put(Action.path_nonexistent, PerformedAction.PATH_NONEXISTENT); + map.put(Action.property_added, PerformedAction.PROPERTY_ADDED); + map.put(Action.property_deleted, PerformedAction.PROPERTY_DELETED); + map.put(Action.property_deleted_nonexistent, PerformedAction.PROPERTY_DELETED_NONEXISTENT); + map.put(Action.property_modified, PerformedAction.PROPERTY_MODIFIED); + map.put(Action.resolved, PerformedAction.RESOLVED); + map.put(Action.restore, PerformedAction.RESTORE); + map.put(Action.revert, PerformedAction.REVERT); + map.put(Action.revprop_deleted, PerformedAction.REVPROP_DELETE); + map.put(Action.revprop_set, PerformedAction.REVPROP_SET); + map.put(Action.skip, PerformedAction.SKIP); + map.put(Action.skip_conflicted, PerformedAction.SKIP_CONFLICTED); + map.put(Action.status_completed, PerformedAction.STATUS_COMPLETED); + map.put(Action.status_external, PerformedAction.STATUS_EXTERNAL); + map.put(Action.tree_conflict, PerformedAction.TREE_CONFLICT); + map.put(Action.unlocked, PerformedAction.UNLOCKED); + map.put(Action.update_add, PerformedAction.UPDATE_ADD); + map.put(Action.update_broken_lock, PerformedAction.UPDATE_BROKEN_LOCK); + map.put(Action.update_completed, PerformedAction.UPDATE_COMPLETED); + map.put(Action.update_delete, PerformedAction.UPDATE_DELETE); + map.put(Action.update_external, PerformedAction.UPDATE_EXTERNAL); + map.put(Action.update_external_removed, PerformedAction.UPDATE_EXTERNAL_REMOVED); + map.put(Action.update_replaced, PerformedAction.UPDATE_REPLACED); + map.put(Action.update_shadowed_add, PerformedAction.UPDATE_SHADOWED_ADD); + map.put(Action.update_shadowed_delete, PerformedAction.UPDATE_SHADOWED_DELETE); + map.put(Action.update_shadowed_update, PerformedAction.UPDATE_SHADOWED_UPDATE); + map.put(Action.update_skip_access_denied, PerformedAction.UPDATE_SKIP_ACCESS_DENIED); + map.put(Action.update_skip_obstruction, PerformedAction.UPDATE_SKIP_OBSTRUCTION); + map.put(Action.update_skip_working_only, PerformedAction.UPDATE_SKIP_WORKING_ONLY); + map.put(Action.update_started, PerformedAction.UPDATE_STARTED); + map.put(Action.update_update, PerformedAction.UPDATE_UPDATE); + map.put(Action.upgraded_path, PerformedAction.UPGRADED_PATH); + map.put(Action.url_redirect, PerformedAction.URL_REDIRECT); + return map; + } + + @Override + SVNNotification.PerformedAction defaults() { + return SVNNotification.PerformedAction._UNKNOWN_ACTION; + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationAdapter.java new file mode 100644 index 0000000..7fc88a4 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationAdapter.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import org.apache.subversion.javahl.ClientNotifyInformation; +import org.eclipse.team.svn.core.connector.SVNNotification; + +final class ClientNotifyInformationAdapter extends SvnTypeConstructor { + + ClientNotifyInformationAdapter(ClientNotifyInformation source) { + super(source); + } + + @Override + public SVNNotification adapt() { + return new SVNNotification(// + source.getPath(), // + new ClientNotifyInformationActionAdapter(source.getAction()).adapt(), // + new NodeKindAdapter(source.getKind()).adapt(), // + source.getMimeType(), // + new LockAdapter(source.getLock()).adapt(), // + source.getErrMsg(), // + new ClientNotifyInformationStatusAdapter(source.getContentState()).adapt(), // + new ClientNotifyInformationStatusAdapter(source.getPropState()).adapt(), // + new LockStatusAdapter(source.getLockState()).adapt(), // + source.getRevision()); + } + +} \ No newline at end of file diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationStatusAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationStatusAdapter.java new file mode 100644 index 0000000..d8c1308 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/ClientNotifyInformationStatusAdapter.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.apache.subversion.javahl.ClientNotifyInformation; +import org.apache.subversion.javahl.ClientNotifyInformation.Status; +import org.eclipse.team.svn.core.connector.SVNNotification; +import org.eclipse.team.svn.core.connector.SVNNotification.NodeStatus; + +final class ClientNotifyInformationStatusAdapter +extends SvnTypeMap { + + ClientNotifyInformationStatusAdapter(Status source) { + super(source); + } + + @Override + protected Map fill() { + Map map = new LinkedHashMap<>(); + map.put(ClientNotifyInformation.Status.inapplicable, NodeStatus.INAPPLICABLE); + map.put(ClientNotifyInformation.Status.unknown, NodeStatus.UNKNOWN); + map.put(ClientNotifyInformation.Status.unchanged, NodeStatus.UNCHANGED); + map.put(ClientNotifyInformation.Status.missing, NodeStatus.MISSING); + map.put(ClientNotifyInformation.Status.obstructed, NodeStatus.OBSTRUCTED); + map.put(ClientNotifyInformation.Status.changed, NodeStatus.CHANGED); + map.put(ClientNotifyInformation.Status.merged, NodeStatus.MERGED); + map.put(ClientNotifyInformation.Status.conflicted, SVNNotification.NodeStatus.CONFLICTED); + return map; + } + + @Override + NodeStatus defaults() { + return NodeStatus.UNKNOWN; + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockAdapter.java new file mode 100644 index 0000000..e41cbfa --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockAdapter.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import org.apache.subversion.javahl.types.Lock; +import org.eclipse.team.svn.core.connector.SVNLock; + +final class LockAdapter extends SvnTypeConstructor { + + LockAdapter(Lock source) { + super(source); + } + + @Override + public SVNLock adapt() { + return new SVNLock( + source.getOwner(), // + source.getPath(), // + source.getToken(), // + source.getComment(), // + source.getCreationDate() == null ? 0 : source.getCreationDate().getTime(), // + source.getExpirationDate() == null ? 0 : source.getExpirationDate().getTime()// + ); + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockStatusAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockStatusAdapter.java new file mode 100644 index 0000000..93990f2 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/LockStatusAdapter.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.apache.subversion.javahl.ClientNotifyInformation.LockStatus; +import org.eclipse.team.svn.core.connector.SVNNotification; +import org.eclipse.team.svn.core.connector.SVNNotification.NodeLock; + +final class LockStatusAdapter extends SvnTypeMap { + + LockStatusAdapter(LockStatus source) { + super(source); + } + + @Override + protected Map fill() { + Map map = new LinkedHashMap<>(); + map.put(LockStatus.inapplicable, SVNNotification.NodeLock.INAPPLICABLE); + map.put(LockStatus.unknown, SVNNotification.NodeLock.UNKNOWN); + map.put(LockStatus.unchanged, SVNNotification.NodeLock.UNCHANGED); + map.put(LockStatus.locked, SVNNotification.NodeLock.LOCKED); + map.put(LockStatus.unlocked, SVNNotification.NodeLock.UNLOCKED); + return map; + } + + @Override + NodeLock defaults() { + return NodeLock.UNKNOWN; + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/NodeKindAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/NodeKindAdapter.java new file mode 100644 index 0000000..828ccd0 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/NodeKindAdapter.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.Map; + +import org.apache.subversion.javahl.types.NodeKind; +import org.eclipse.team.svn.core.connector.SVNEntry; +import org.eclipse.team.svn.core.connector.SVNEntry.Kind; + +final class NodeKindAdapter extends SvnTypeMap { + + NodeKindAdapter(NodeKind source) { + super(source); + } + + @Override + protected Map fill() { + return Map.of(// + NodeKind.none, SVNEntry.Kind.NONE, // + NodeKind.file, SVNEntry.Kind.FILE, // + NodeKind.dir, SVNEntry.Kind.DIR, // + NodeKind.unknown, SVNEntry.Kind.UNKNOWN, // + NodeKind.symlink, SVNEntry.Kind.SYMLINK// + ); + } + + @Override + Kind defaults() { + return Kind.UNKNOWN; + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/StatusKindAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/StatusKindAdapter.java new file mode 100644 index 0000000..48d0132 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/StatusKindAdapter.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.apache.subversion.javahl.types.Status; +import org.apache.subversion.javahl.types.Status.Kind; +import org.eclipse.team.svn.core.connector.SVNEntryStatus; + +public class StatusKindAdapter extends SvnTypeMap { + + protected StatusKindAdapter(Kind source) { + super(source); + } + + @Override + protected Map fill() { + Map map = new LinkedHashMap<>(); + map.put(Status.Kind.none, SVNEntryStatus.Kind.NONE); + map.put(Status.Kind.unversioned, SVNEntryStatus.Kind.UNVERSIONED); + map.put(Status.Kind.normal, SVNEntryStatus.Kind.NORMAL); + map.put(Status.Kind.added, SVNEntryStatus.Kind.ADDED); + map.put(Status.Kind.missing, SVNEntryStatus.Kind.MISSING); + map.put(Status.Kind.deleted, SVNEntryStatus.Kind.DELETED); + map.put(Status.Kind.replaced, SVNEntryStatus.Kind.REPLACED); + map.put(Status.Kind.modified, SVNEntryStatus.Kind.MODIFIED); + map.put(Status.Kind.merged, SVNEntryStatus.Kind.MERGED); + map.put(Status.Kind.conflicted, SVNEntryStatus.Kind.CONFLICTED); + map.put(Status.Kind.ignored, SVNEntryStatus.Kind.IGNORED); + map.put(Status.Kind.obstructed, SVNEntryStatus.Kind.OBSTRUCTED); + map.put(Status.Kind.external, SVNEntryStatus.Kind.EXTERNAL); + map.put(Status.Kind.incomplete, SVNEntryStatus.Kind.INCOMPLETE); + return map; + } + + @Override + SVNEntryStatus.Kind defaults() { + return SVNEntryStatus.Kind.NONE; + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeAdapter.java new file mode 100644 index 0000000..6c77e36 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeAdapter.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + + +interface SvnTypeAdapter { + + T adapt(); + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeConstructor.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeConstructor.java new file mode 100644 index 0000000..1e73769 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeConstructor.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.Objects; + +abstract class SvnTypeConstructor implements SvnTypeAdapter { + + protected final S source; + + SvnTypeConstructor(S source) { + this.source = Objects.requireNonNull(source); + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeMap.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeMap.java new file mode 100644 index 0000000..e40e54a --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/SvnTypeMap.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +abstract class SvnTypeMap implements SvnTypeAdapter { + + private final S source; + private final Map map; + + protected SvnTypeMap(S source) { + this.source = Objects.requireNonNull(source); + map = fill(); + } + + protected abstract Map fill(); + + @Override + public final T adapt() { + return Optional.ofNullable(map.get(source)).orElseGet(this::defaults); + } + + abstract T defaults(); + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/TypeStatusAdapter.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/TypeStatusAdapter.java new file mode 100644 index 0000000..51ca367 --- /dev/null +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/adapt/TypeStatusAdapter.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) ArSysOp 2020-2024 + * + * ArSysOp and its affiliates make no warranty of any kind + * with regard to this material. + * + * ArSysOp expressly disclaims all warranties as to the material, express, + * and implied, including but not limited to the implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of third + * party rights. + * + * In no event shall ArSysOp be liable to you or any other person for any damages, + * including, without limitation, any direct, indirect, incidental or consequential + * damages, expenses, lost profits, lost data or other damages arising out of the use, + * misuse or inability to use the material and any derived software, even if ArSysOp, + * its affiliate or an authorized dealer has been advised of the possibility of such damages. + * + */ + +package ru.arsysop.svn.connector.internal.adapt; + +import java.util.Date; +import java.util.Optional; + +import org.apache.subversion.javahl.types.Status; +import org.eclipse.team.svn.core.connector.SVNChangeStatus; + +final class TypeStatusAdapter extends SvnTypeConstructor { + + TypeStatusAdapter(Status source) { + super(source); + } + + @Override + public SVNChangeStatus adapt() { + return new SVNChangeStatus( + source.getPath(), // + source.getUrl(), // + new NodeKindAdapter(source.getNodeKind()).adapt(), // + source.getRevisionNumber(), // + source.getLastChangedRevisionNumber(), + Optional.ofNullable(source.getLastChangedDate()).map(Date::getTime).orElse(0L), + source.getLastCommitAuthor(), // + new StatusKindAdapter(source.getTextStatus()).adapt(), // + new StatusKindAdapter(source.getPropStatus()).adapt(), // + new StatusKindAdapter(source.getRepositoryTextStatus()).adapt(), // + new StatusKindAdapter(source.getRepositoryPropStatus()).adapt(), // + source.isLocked(), // + source.isCopied(), // + source.isSwitched(), // + new LockAdapter(source.getLocalLock()).adapt(), // + new LockAdapter(source.getReposLock()).adapt(), // + source.getReposLastCmtRevisionNumber(), // + Optional.ofNullable(source.getReposLastCmtDate()).map(Date::getTime).orElse(0L), + new NodeKindAdapter(source.getReposKind()).adapt(), // + source.getReposLastCmtAuthor(), // + source.isFileExternal(), // + source.isConflicted(), // + null, //FIXME: AF: check if we can use empty array here + source.getChangelist()); + } + +} diff --git a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/svnkit1_10/SvnKit1_10Connector.java b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/svnkit1_10/SvnKit1_10Connector.java index 52b08c4..dc50d4c 100644 --- a/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/svnkit1_10/SvnKit1_10Connector.java +++ b/bundles/ru.arsysop.svn.connector.svnkit1_10/src/ru/arsysop/svn/connector/internal/svnkit1_10/SvnKit1_10Connector.java @@ -58,6 +58,8 @@ import org.tmatesoft.svn.core.internal.wc.SVNFileUtil; import org.tmatesoft.svn.core.javahl17.SVNClientImpl; +import ru.arsysop.svn.connector.internal.adapt.ClientNotifyCallbackAdapter; + //TODO final class SvnKit1_10Connector implements ISVNConnector { @@ -68,9 +70,10 @@ final class SvnKit1_10Connector implements ISVNConnector { public SvnKit1_10Connector() { SVNFileUtil.setSleepForTimestamp(false);// not time to relax + //FIXME: AF: check if we can remove "trilead" from target + System.setProperty("svnkit.ssh.client", "apache"); //$NON-NLS-1$ //$NON-NLS-2$ client = SVNClientImpl.newInstance(); - //FIXME: AF: not yet -// client.notification2(new ClientNotifyCallbackAdapter(watch.notifications)); + client.notification2(new ClientNotifyCallbackAdapter(watch.notifications)); } @Override @@ -127,32 +130,38 @@ public void setPassword(String password) { @Override public void setPrompt(ISVNCredentialsPrompt prompt) { //TODO + System.out.println("SvnKit1_10Connector.setPrompt()"); } @Override public ISVNCredentialsPrompt getPrompt() { + System.out.println("SvnKit1_10Connector.getPrompt()"); //TODO return null; } @Override public void setNotificationCallback(ISVNNotificationCallback notify) { + System.out.println("SvnKit1_10Connector.setNotificationCallback()"); //TODO } @Override public ISVNNotificationCallback getNotificationCallback() { + System.out.println("SvnKit1_10Connector.getNotificationCallback()"); //TODO return null; } @Override public void setConflictResolver(ISVNConflictResolutionCallback listener) { + System.out.println("SvnKit1_10Connector.setConflictResolver()"); //TODO } @Override public ISVNConflictResolutionCallback getConflictResolver() { + System.out.println("SvnKit1_10Connector.getConflictResolver()"); //TODO return null; } @@ -160,6 +169,7 @@ public ISVNConflictResolutionCallback getConflictResolver() { @Override public long checkout(SVNEntryRevisionReference fromReference, String destPath, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.checkout()"); //TODO return -1; } @@ -167,17 +177,20 @@ public long checkout(SVNEntryRevisionReference fromReference, String destPath, S @Override public void lock(String[] path, String comment, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.lock()"); //TODO } @Override public void unlock(String[] path, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.unlock()"); //TODO } @Override public void add(String path, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.add()"); //TODO } @@ -185,12 +198,14 @@ public void add(String path, SVNDepth depth, long options, ISVNProgressMonitor m @Override public void commit(String[] path, String message, String[] changeLists, SVNDepth depth, long options, Map revProps, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.commit()"); //TODO } @Override public long[] update(String[] path, SVNRevision revision, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.update()"); //TODO return null; } @@ -198,6 +213,7 @@ public long[] update(String[] path, SVNRevision revision, SVNDepth depth, long o @Override public long switchTo(String path, SVNEntryRevisionReference toReference, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.switchTo()"); //TODO return 0; } @@ -205,35 +221,41 @@ public long switchTo(String path, SVNEntryRevisionReference toReference, SVNDept @Override public void revert(String[] paths, SVNDepth depth, String[] changeLists, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.revert()"); //TODO } @Override public void status(String path, SVNDepth depth, long options, String[] changeLists, ISVNEntryStatusCallback callback, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.status()"); //TODO } @Override public void relocate(String from, String to, String path, SVNDepth depth, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.relocate()"); //TODO } @Override public void cleanup(String path, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.cleanup()"); //TODO } @Override public void mergeTwo(SVNEntryRevisionReference reference1, SVNEntryRevisionReference reference2, String localPath, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.mergeTwo()"); //TODO } @Override public void merge(SVNEntryReference reference, SVNRevisionRange[] revisions, String localPath, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.merge()"); //TODO } @@ -241,12 +263,14 @@ public void merge(SVNEntryReference reference, SVNRevisionRange[] revisions, Str @Override public void mergeReintegrate(SVNEntryReference reference, String localPath, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.mergeReintegrate()"); //TODO } @Override public SVNMergeInfo getMergeInfo(SVNEntryReference reference, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.getMergeInfo()"); //TODO return null; } @@ -255,12 +279,14 @@ public SVNMergeInfo getMergeInfo(SVNEntryReference reference, ISVNProgressMonito public void listMergeInfoLog(LogKind logKind, SVNEntryReference reference, SVNEntryReference mergeSourceReference, SVNRevisionRange mergeSourceRange, String[] revProps, SVNDepth depth, long options, ISVNLogEntryCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.listMergeInfoLog()"); //TODO } @Override public String[] suggestMergeSources(SVNEntryReference reference, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.suggestMergeSources()"); //TODO return null; } @@ -268,24 +294,28 @@ public String[] suggestMergeSources(SVNEntryReference reference, ISVNProgressMon @Override public void resolve(String path, Choice conflictResult, SVNDepth depth, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.resolve()"); //TODO } @Override public void addToChangeList(String[] paths, String targetChangeList, SVNDepth depth, String[] filterByChangeLists, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.addToChangeList()"); //TODO } @Override public void removeFromChangeLists(String[] paths, SVNDepth depth, String[] changeLists, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.removeFromChangeLists()"); //TODO } @Override public void dumpChangeLists(String[] changeLists, String rootPath, SVNDepth depth, ISVNChangeListCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.dumpChangeLists()"); //TODO } @@ -293,12 +323,14 @@ public void dumpChangeLists(String[] changeLists, String rootPath, SVNDepth dept @Override public void importTo(String path, String url, String message, SVNDepth depth, long options, Map revProps, ISVNImportFilterCallback filter, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.importTo()"); //TODO } @Override public long exportTo(SVNEntryRevisionReference fromReference, String destPath, String nativeEOL, SVNDepth depth, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.exportTo()"); //TODO return 0; } @@ -307,6 +339,7 @@ public long exportTo(SVNEntryRevisionReference fromReference, String destPath, S public void diffTwo(SVNEntryRevisionReference refPrev, SVNEntryRevisionReference refNext, String relativeToDir, String fileName, SVNDepth depth, long options, String[] changeLists, long outputOptions, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diffTwo()"); //TODO } @@ -314,6 +347,7 @@ public void diffTwo(SVNEntryRevisionReference refPrev, SVNEntryRevisionReference public void diff(SVNEntryReference reference, SVNRevisionRange range, String relativeToDir, String fileName, SVNDepth depth, long options, String[] changeLists, long outputOptions, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diff()"); //TODO } @@ -321,6 +355,7 @@ public void diff(SVNEntryReference reference, SVNRevisionRange range, String rel public void diffTwo(SVNEntryRevisionReference refPrev, SVNEntryRevisionReference refNext, String relativeToDir, OutputStream stream, SVNDepth depth, long options, String[] changeLists, long outputOptions, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diffTwo()"); //TODO } @@ -328,6 +363,7 @@ public void diffTwo(SVNEntryRevisionReference refPrev, SVNEntryRevisionReference public void diff(SVNEntryReference reference, SVNRevisionRange range, String relativeToDir, OutputStream stream, SVNDepth depth, long options, String[] changeLists, long outputOptions, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diff()"); //TODO } @@ -335,24 +371,28 @@ public void diff(SVNEntryReference reference, SVNRevisionRange range, String rel public void diffStatusTwo(SVNEntryRevisionReference refPrev, SVNEntryRevisionReference refNext, SVNDepth depth, long options, String[] changeLists, ISVNDiffStatusCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diffStatusTwo()"); //TODO } @Override public void diffStatus(SVNEntryReference reference, SVNRevisionRange range, SVNDepth depth, long options, String[] changeLists, ISVNDiffStatusCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.diffStatus()"); //TODO } @Override public void getInfo(SVNEntryRevisionReference reference, SVNDepth depth, long options, String[] changeLists, ISVNEntryInfoCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.getInfo()"); //TODO } @Override public SVNProperty[] streamFileContent(SVNEntryRevisionReference reference, long options, OutputStream stream, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.streamFileContent()"); //TODO return null; } @@ -361,12 +401,14 @@ public SVNProperty[] streamFileContent(SVNEntryRevisionReference reference, long @Override public void mkdir(String[] path, String message, long options, Map revProps, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.mkdir()"); //TODO } @Override public void moveLocal(String[] srcPaths, String dstPath, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.moveLocal()"); //TODO } @@ -374,6 +416,7 @@ public void moveLocal(String[] srcPaths, String dstPath, long options, ISVNProgr @Override public void moveRemote(String[] srcPaths, String dstPath, String message, long options, Map revProps, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.moveRemote()"); //TODO } @@ -381,6 +424,7 @@ public void moveRemote(String[] srcPaths, String dstPath, String message, long o public void copyLocal(SVNEntryRevisionReference[] srcPaths, String destPath, long options, Map> externalsToPin, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.copyLocal()"); //TODO } @@ -389,11 +433,13 @@ public void copyLocal(SVNEntryRevisionReference[] srcPaths, String destPath, lon public void copyRemote(SVNEntryRevisionReference[] srcPaths, String destPath, String message, long options, Map revProps, Map> externalsToPin, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.copyRemote()"); //TODO } @Override public void removeLocal(String[] path, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.removeLocal()"); //TODO } @@ -401,6 +447,7 @@ public void removeLocal(String[] path, long options, ISVNProgressMonitor monitor @Override public void removeRemote(String[] path, String message, long options, Map revProps, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.removeRemote()"); //TODO } @@ -408,24 +455,28 @@ public void removeRemote(String[] path, String message, long options, Map revPro public void listHistoryLog(SVNEntryReference reference, SVNRevisionRange[] revisionRanges, String[] revProps, long limit, long options, ISVNLogEntryCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.listHistoryLog()"); //TODO } @Override public void annotate(SVNEntryReference reference, SVNRevisionRange revisionRange, long options, long diffOptions, ISVNAnnotationCallback callback, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.annotate()"); //TODO } @Override public void listEntries(SVNEntryRevisionReference reference, SVNDepth depth, int direntFields, long options, ISVNEntryCallback cb, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.listEntries()"); //TODO } @Override public void listProperties(SVNEntryRevisionReference reference, SVNDepth depth, String[] changeLists, long options, ISVNPropertyCallback callback, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.listProperties()"); //TODO } @@ -433,6 +484,7 @@ public void listProperties(SVNEntryRevisionReference reference, SVNDepth depth, public SVNProperty getProperty(SVNEntryRevisionReference reference, String name, String[] changeLists, ISVNProgressMonitor monitor) throws SVNConnectorException { //TODO + System.out.println("SvnKit1_10Connector.getProperty()"); return null; } @@ -440,18 +492,21 @@ public SVNProperty getProperty(SVNEntryRevisionReference reference, String name, public void setPropertyLocal(String[] path, SVNProperty property, SVNDepth depth, long options, String[] changeLists, ISVNProgressMonitor monitor) throws SVNConnectorException { //TODO + System.out.println("SvnKit1_10Connector.setPropertyLocal()"); } @SuppressWarnings("rawtypes") @Override public void setPropertyRemote(SVNEntryReference reference, SVNProperty property, String message, long options, Map revProps, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.setPropertyRemote()"); //TODO } @Override public SVNProperty[] listRevisionProperties(SVNEntryReference reference, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.listRevisionProperties()"); //TODO return null; } @@ -459,6 +514,7 @@ public SVNProperty[] listRevisionProperties(SVNEntryReference reference, ISVNPro @Override public SVNProperty getRevisionProperty(SVNEntryReference reference, String name, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.getRevisionProperty()"); //TODO return null; } @@ -466,22 +522,26 @@ public SVNProperty getRevisionProperty(SVNEntryReference reference, String name, @Override public void setRevisionProperty(SVNEntryReference reference, SVNProperty property, String originalValue, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.setRevisionProperty()"); //TODO } @Override public void upgrade(String path, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.upgrade()"); //TODO } @Override public void patch(String patchPath, String targetPath, int stripCount, long options, ISVNPatchCallback callback, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.patch()"); //TODO } @Override public void vacuum(String path, long options, ISVNProgressMonitor monitor) throws SVNConnectorException { + System.out.println("SvnKit1_10Connector.vacuum()"); //TODO }