Skip to content

Commit

Permalink
Simple refactor, typo fixes, added logger (#639)
Browse files Browse the repository at this point in the history
* readability

* Refactor: enhanced for loop

* typo fix, added a type test, added a check to avoid NullPointerException, added logger

* fix:remove extra line in docker readme (#638)

---------

Co-authored-by: Amin Malek Mohammadi <[email protected]>
  • Loading branch information
konketf and Aminmalek authored Jul 13, 2023
1 parent 7577818 commit d37cf11
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 17 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package org.sirix.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Arrays;
import java.util.Iterator;
import java.util.NoSuchElementException;

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
Expand Down Expand Up @@ -37,6 +41,11 @@
* @lucene.experimental
*/
public class IntToObjectMap<T> implements Iterable<T> {
/**
* Logger for this class.
*/
private static final Logger LOGGER = LoggerFactory.getLogger(IntToObjectMap.class);


/**
* Implements an IntIterator which iterates over all the allocated indexes.
Expand Down Expand Up @@ -137,9 +146,13 @@ public boolean hasNext() {

@SuppressWarnings("unchecked")
public T next() {
if (!iterator.hasNext()) {
throw new NoSuchElementException();
}
return (T) values[iterator.next()];
}

@Override
public void remove() {
iterator.remove();
}
Expand All @@ -151,7 +164,7 @@ public void remove() {
private static int defaultCapacity = 16;

/**
* Holds the base hash entries. if the capacity is 2^N, than the base hash
* Holds the base hash entries. if the capacity is 2^N, thn the base hash
* holds 2^(N+1). It can hold
*/
int[] baseHash;
Expand Down Expand Up @@ -254,7 +267,7 @@ public IntToObjectMap(int capacity) {
* @param e
* element which is being mapped using the given key
*/
private void prvt_put(int key, T e) {
private void prvtPut(int key, T e) {
// Hash entry to which the new pair would be inserted
int hashIndex = calcBaseHashIndex(key);

Expand Down Expand Up @@ -300,8 +313,8 @@ public void clear() {

// And setting all the <code>next[i]</code> to point at
// <code>i+1</code>.
for (int i = 1; i < this.capacity; ) {
next[i] = ++i;
for (int i = 1; i < this.capacity; ++i) {
next[i] = i + 1;
}

// Surly, the last one should point to the 'Ground'.
Expand Down Expand Up @@ -329,8 +342,7 @@ public boolean containsKey(int key) {
* false otherwise.
*/
public boolean containsValue(Object o) {
for (Iterator<T> iterator = iterator(); iterator.hasNext(); ) {
T object = iterator.next();
for (T object : this) {
if (object.equals(o)) {
return true;
}
Expand All @@ -353,7 +365,7 @@ protected int find(int key) {

// while the index does not point to the 'Ground'
while (localIndex != 0) {
// returns the index found in case of of a matching key.
// returns the index found in case of a matching key.
if (keys[localIndex] == key) {
return localIndex;
}
Expand Down Expand Up @@ -384,7 +396,7 @@ private int findForRemove(int key, int baseHashIndex) {

// while the index does not point to the 'Ground'
while (index != 0) {
// returns the index found in case of of a matching key.
// returns the index found in case of a matching key.
if (keys[index] == key) {
return index;
}
Expand Down Expand Up @@ -418,14 +430,14 @@ public T get(int key) {
*/
@SuppressWarnings("unchecked")
protected void grow() {
IntToObjectMap<T> that = new IntToObjectMap<T>(this.capacity * 2);
IntToObjectMap<T> that = new IntToObjectMap<>(this.capacity * 2);

// Iterates fast over the collection. Any valid pair is put into the new
// map without checking for duplicates or if there's enough space for
// it.
for (IndexIterator iterator = new IndexIterator(); iterator.hasNext(); ) {
int index = iterator.next();
that.prvt_put(this.keys[index], (T) this.values[index]);
that.prvtPut(this.keys[index], (T) this.values[index]);
}

// Copy that's data into this.
Expand Down Expand Up @@ -465,7 +477,7 @@ public IntIterator keyIterator() {
@SuppressWarnings("unused")
private void printBaseHash() {
for (int i = 0; i < this.baseHash.length; i++) {
System.out.println(i + ".\t" + baseHash[i]);
LOGGER.info("{}.\t{}", i, baseHash[i]);
}
}

Expand All @@ -491,13 +503,13 @@ public T put(int key, T e) {

// Is there enough room for a new pair?
if (size == capacity) {
// No? Than grow up!
// No? Then grow up!
grow();
}

// Now that everything is set, the pair can be just put inside with no
// worries.
prvt_put(key, e);
prvtPut(key, e);

return null;
}
Expand Down Expand Up @@ -547,8 +559,8 @@ public Object[] toArray() {
Object[] array = new Object[size];

// Iterates over the values, adding them to the array.
for (Iterator<T> iterator = iterator(); iterator.hasNext(); ) {
array[++j] = iterator.next();
for (T t : this) {
array[++j] = t;
}
return array;
}
Expand Down Expand Up @@ -580,7 +592,7 @@ public T[] toArray(T[] a) {

@Override
public String toString() {
StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
sb.append('{');
IntIterator keyIterator = keyIterator();
while (keyIterator.hasNext()) {
Expand All @@ -605,6 +617,9 @@ public int hashCode() {
@SuppressWarnings("unchecked")
@Override
public boolean equals(Object o) {
if (!(o instanceof IntToObjectMap)) {
return false;
}
IntToObjectMap<T> that = (IntToObjectMap<T>) o;
if (that.size() != this.size()) {
return false;
Expand All @@ -619,7 +634,7 @@ public boolean equals(Object o) {

T v1 = this.get(key);
T v2 = that.get(key);
if ((v1 == null && v2 != null) || (v1 != null && v2 == null) || (!v1.equals(v2))) {
if ((v1 == null && v2 != null) || (v1 != null && v2 == null) || (v1!= null && !v1.equals(v2))) {
return false;
}
}
Expand Down

0 comments on commit d37cf11

Please sign in to comment.