diff options
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java')
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java | 86 |
1 files changed, 29 insertions, 57 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java index ea904cd1db..493bcfbbed 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java @@ -1,44 +1,11 @@ /* - * Copyright (C) 2010, Google Inc. - * and other copyright owners as documented in the project's IP log. + * Copyright (C) 2010, Google Inc. and others * - * 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 + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://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. + * SPDX-License-Identifier: BSD-3-Clause */ package org.eclipse.jgit.notes; @@ -135,11 +102,12 @@ class FanoutBucket extends InMemoryNoteBucket { final MutableObjectId id = new MutableObjectId(); id.fromObjectId(objId); - return new Iterator<Note>() { + return new Iterator<>() { private int cell; private Iterator<Note> itr; + @Override public boolean hasNext() { if (itr != null && itr.hasNext()) return true; @@ -164,13 +132,15 @@ class FanoutBucket extends InMemoryNoteBucket { return false; } + @Override public Note next() { - if (hasNext()) + if (hasNext()) { return itr.next(); - else - throw new NoSuchElementException(); + } + throw new NoSuchElementException(); } + @Override public void remove() { throw new UnsupportedOperationException(); } @@ -211,30 +181,31 @@ class FanoutBucket extends InMemoryNoteBucket { NoteBucket b = table[cell]; if (b == null) { - if (noteData == null) + if (noteData == null) { return this; + } LeafBucket n = new LeafBucket(prefixLen + 2); table[cell] = n.set(noteOn, noteData, or); cnt++; return this; - } else { - NoteBucket n = b.set(noteOn, noteData, or); - if (n == null) { - table[cell] = null; - cnt--; + } + NoteBucket n = b.set(noteOn, noteData, or); + if (n == null) { + table[cell] = null; + cnt--; - if (cnt == 0) - return null; + if (cnt == 0) { + return null; + } - return contractIfTooSmall(noteOn, or); + return contractIfTooSmall(noteOn, or); - } else if (n != b) { - table[cell] = n; - } - return this; + } else if (n != b) { + table[cell] = n; } + return this; } InMemoryNoteBucket contractIfTooSmall(AnyObjectId noteOn, ObjectReader or) @@ -259,9 +230,10 @@ class FanoutBucket extends InMemoryNoteBucket { return inserter.insert(build(true, inserter)); } + @Override ObjectId getTreeId() { - try { - return new ObjectInserter.Formatter().idFor(build(false, null)); + try (ObjectInserter.Formatter f = new ObjectInserter.Formatter()) { + return f.idFor(build(false, null)); } catch (IOException e) { // should never happen as we are not inserting throw new RuntimeException(e); |