diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 88c5070..048c4b1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,10 @@ # This file is generated by GitLab CI Source test: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - git submodule update --init --recursive - ./gradlew clean setupCauldron jar + - rm -rf $(grep path .gitmodules | awk '{print $3}') tags: - test except: @@ -10,8 +12,10 @@ Source test: Deploy: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - git submodule update --init --recursive - ./gradlew -PofficialBuild clean setupCauldron publish + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - deploy @@ -25,6 +29,7 @@ Deploy: Merge master into backport-1448: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - from=master - to=backport-1448 - git remote set-url origin gitlab@prok.pw:Prototik/KCauldron.git @@ -33,6 +38,7 @@ Merge master into backport-1448: - git reset --hard origin/$to - git merge origin/$from - git push origin $to + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - merge-backport @@ -41,6 +47,7 @@ Merge master into backport-1448: Merge backport-1448 into backport-1388: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - from=backport-1448 - to=backport-1388 - git remote set-url origin gitlab@prok.pw:Prototik/KCauldron.git @@ -49,6 +56,7 @@ Merge backport-1448 into backport-1388: - git reset --hard origin/$to - git merge origin/$from - git push origin $to + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - merge-backport @@ -57,6 +65,7 @@ Merge backport-1448 into backport-1388: Merge backport-1388 into backport-1370: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - from=backport-1388 - to=backport-1370 - git remote set-url origin gitlab@prok.pw:Prototik/KCauldron.git @@ -65,6 +74,7 @@ Merge backport-1388 into backport-1370: - git reset --hard origin/$to - git merge origin/$from - git push origin $to + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - merge-backport @@ -73,6 +83,7 @@ Merge backport-1388 into backport-1370: Merge backport-1370 into backport-1291: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - from=backport-1370 - to=backport-1291 - git remote set-url origin gitlab@prok.pw:Prototik/KCauldron.git @@ -81,6 +92,7 @@ Merge backport-1370 into backport-1291: - git reset --hard origin/$to - git merge origin/$from - git push origin $to + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - merge-backport @@ -89,6 +101,7 @@ Merge backport-1370 into backport-1291: Merge backport-1291 into backport-1240: script: + - rm -rf $(grep path .gitmodules | awk '{print $3}') - from=backport-1291 - to=backport-1240 - git remote set-url origin gitlab@prok.pw:Prototik/KCauldron.git @@ -97,6 +110,7 @@ Merge backport-1291 into backport-1240: - git reset --hard origin/$to - git merge origin/$from - git push origin $to + - rm -rf $(grep path .gitmodules | awk '{print $3}') type: deploy tags: - merge-backport diff --git a/src/main/java/kcauldron/wrapper/ProcessingQueue.java b/src/main/java/kcauldron/wrapper/ProcessingQueue.java index 0c8fe3e..630d32c 100644 --- a/src/main/java/kcauldron/wrapper/ProcessingQueue.java +++ b/src/main/java/kcauldron/wrapper/ProcessingQueue.java @@ -6,127 +6,119 @@ import java.util.Queue; import java.util.concurrent.atomic.AtomicInteger; public class ProcessingQueue extends QueueWrapper { - public class ProcessingIterator implements Iterator { - private Iterator mRealIterator = mCollection.iterator(); - private AtomicInteger mPosition = new AtomicInteger(0); + public class ProcessingIterator implements Iterator { + private Iterator mRealIterator = mCollection.iterator(); - @Override - public boolean hasNext() { - final int size = mSize.get(); - final int position = mPosition.get(); - if (size == 0 || position >= size) { - mPosition.compareAndSet(position, 0); - mRealIterator = mCollection.iterator(); - return false; - } - boolean value = mRealIterator.hasNext(); - if (!value) { - mRealIterator = mCollection.iterator(); - value = mRealIterator.hasNext(); - } - return value; - } + @Override + public boolean hasNext() { + return mRealIterator.hasNext(); + } - @Override - public T next() { - T value = mRealIterator.next(); - mPosition.incrementAndGet(); - return value; - } + @Override + public T next() { + return mRealIterator.next(); + } - @Override - public void remove() { - mRealIterator.remove(); - mSize.decrementAndGet(); - mPosition.decrementAndGet(); - } + @Override + public void remove() { + mRealIterator.remove(); + mSize.decrementAndGet(); + } + } - public void reset() { - mPosition.set(0); - } - } + private final AtomicInteger mSize; - private final AtomicInteger mSize; - private final ProcessingIterator mIterator = new ProcessingIterator(); + @Override + public boolean add(T e) { + boolean result = super.add(e); + if (result) { + mSize.incrementAndGet(); + } + return result; + }; - @Override - public boolean add(T e) { - boolean result = super.add(e); - if (result) { - mSize.incrementAndGet(); - } - return result; - }; + @Override + public boolean offer(T e) { + boolean result = super.offer(e); + if (result) { + mSize.incrementAndGet(); + } + return result; + } - @Override - public boolean offer(T e) { - boolean result = super.offer(e); - if (result) { - mSize.incrementAndGet(); - } - return result; - } + @Override + public boolean addAll(Collection c) { + boolean result = false; + for (T t : c) { + result |= add(t); + } + return result; + } - @Override - public boolean addAll(Collection c) { - boolean result = false; - for (T t : c) { - result |= add(t); - } - return result; - } + @Override + public T remove() { + T result = super.remove(); + mSize.decrementAndGet(); + return result; + } - @Override - public T remove() { - T result = super.remove(); - mSize.decrementAndGet(); - return result; - } + @Override + public boolean remove(Object o) { + boolean result = super.remove(o); + if (result) { + mSize.decrementAndGet(); + } + return result; + } - @Override - public boolean remove(Object o) { - boolean result = super.remove(o); - if (result) { - mSize.decrementAndGet(); - } - return result; - } + @Override + public boolean removeAll(Collection c) { + boolean result = false; + for (Object t : c) { + result |= remove(t); + } + return result; + } - @Override - public boolean removeAll(Collection c) { - boolean result = false; - for (Object t : c) { - result |= remove(t); - } - return result; - } + @Override + public boolean retainAll(Collection c) { + boolean result = super.retainAll(c); + if (result) { + mSize.set(mCollection.size()); + } + return result; + } - @Override - public boolean retainAll(Collection c) { - boolean result = super.retainAll(c); - if (result) { - mSize.set(mCollection.size()); - } - return result; - } + @Override + public T poll() { + T result = super.remove(); + if (result != null) { + mSize.decrementAndGet(); + } + return result; + } - @Override - public T poll() { - T result = super.remove(); - if (result != null) { - mSize.decrementAndGet(); - } - return result; - } + public ProcessingQueue(Queue collection) { + super(collection); + mSize = new AtomicInteger(collection.size()); + } - public ProcessingQueue(Queue collection) { - super(collection); - mSize = new AtomicInteger(collection.size()); - } + @Override + public ProcessingIterator iterator() { + return new ProcessingIterator(); + } - @Override - public ProcessingIterator iterator() { - mIterator.reset(); - return mIterator; - } + @Override + public String toString() { + if (size() == 0) + return "[]"; + StringBuilder builder = new StringBuilder(); + for (T t : this) { + builder.append(','); + builder.append(t == null ? "null" : t.getClass().getSimpleName()); + } + builder.setCharAt(0, '['); + builder.append(']'); + return builder.toString(); + } }