diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java index bd1ec33fa..ba89d2d61 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java @@ -61,8 +61,6 @@ import org.eclipse.jgit.errors.MissingBundlePrerequisiteException; import org.eclipse.jgit.errors.NotSupportedException; import org.eclipse.jgit.errors.TransportException; -import org.eclipse.jgit.internal.storage.pack.PackWriter.ObjectCountCallback; -import org.eclipse.jgit.internal.storage.pack.WriteAbortedException; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Ref; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java index 740160272..af02f4ced 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java @@ -114,6 +114,8 @@ import org.eclipse.jgit.revwalk.RevTag; import org.eclipse.jgit.revwalk.RevTree; import org.eclipse.jgit.storage.pack.PackConfig; +import org.eclipse.jgit.transport.ObjectCountCallback; +import org.eclipse.jgit.transport.WriteAbortedException; import org.eclipse.jgit.util.BlockList; import org.eclipse.jgit.util.TemporaryBuffer; @@ -167,31 +169,6 @@ public interface ObjectIdSet { boolean contains(AnyObjectId objectId); } - /** - * A callback to tell caller the count of objects ASAP. - * - * @since 4.1 - */ - public interface ObjectCountCallback { - /** - * Invoked when the PackWriter has counted the objects to be written - * to pack. - *

- * An ObjectCountCallback can use this information to decide whether - * the - * {@link #writePack(ProgressMonitor, ProgressMonitor, OutputStream)} - * operation should be aborted. - *

- * This callback will be called exactly once. - * - * @param objectCount - * the count of the objects. - * @throws WriteAbortedException - * to indicate that the write operation should be aborted. - */ - void setObjectCount(long objectCount) throws WriteAbortedException; - } - private static final Map, Boolean> instances = new ConcurrentHashMap, Boolean>(); @@ -952,7 +929,7 @@ private void endPhase(ProgressMonitor monitor) { * stream. * @throws WriteAbortedException * the write operation is aborted by - * {@link PackWriter.ObjectCountCallback}. + * {@link ObjectCountCallback}. */ public void writePack(ProgressMonitor compressMonitor, ProgressMonitor writeMonitor, OutputStream packStream) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleWriter.java index 1e7aff88c..ca624c03d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleWriter.java @@ -55,8 +55,6 @@ import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.internal.storage.pack.PackWriter; -import org.eclipse.jgit.internal.storage.pack.PackWriter.ObjectCountCallback; -import org.eclipse.jgit.internal.storage.pack.WriteAbortedException; import org.eclipse.jgit.lib.AnyObjectId; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ObjectCountCallback.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ObjectCountCallback.java new file mode 100644 index 000000000..ee50a25ca --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ObjectCountCallback.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2015, Google Inc. + * and other copyright owners as documented in the project's IP log. + * + * This program and the accompanying materials are made available + * under the terms of the Eclipse Distribution License v1.0 which + * accompanies this distribution, is reproduced below, and is + * available at http://www.eclipse.org/org/documents/edl-v10.php + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * - Neither the name of the Eclipse Foundation, Inc. nor the + * names of its contributors may be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.eclipse.jgit.transport; + +import org.eclipse.jgit.internal.storage.pack.PackWriter; + +/** + * A callback to tell caller the count of objects ASAP. + * + * @since 4.1 + */ +public interface ObjectCountCallback { + /** + * Invoked when the {@link PackWriter} has counted the objects to be + * written to pack. + *

+ * An {@code ObjectCountCallback} can use this information to decide + * whether the + * {@link PackWriter#writePack(ProgressMonitor, ProgressMonitor, OutputStream)} + * operation should be aborted. + *

+ * This callback will be called exactly once. + * + * @param objectCount + * the count of the objects. + * @throws WriteAbortedException + * to indicate that the write operation should be aborted. + */ + void setObjectCount(long objectCount) throws WriteAbortedException; +} diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/WriteAbortedException.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WriteAbortedException.java similarity index 95% rename from org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/WriteAbortedException.java rename to org.eclipse.jgit/src/org/eclipse/jgit/transport/WriteAbortedException.java index 1bb874310..5ba489383 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/WriteAbortedException.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WriteAbortedException.java @@ -41,7 +41,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package org.eclipse.jgit.internal.storage.pack; +package org.eclipse.jgit.transport; import java.io.IOException; @@ -49,7 +49,7 @@ * An exception to be thrown when the write operation is aborted. *

* That can be thrown inside - * {@link PackWriter.ObjectCountCallback#setObjectCount(long)}. + * {@link ObjectCountCallback#setObjectCount(long)}. * * @since 4.1 */