fixed generics warnings for generic array instantiation that appeared

after migration to Java 7
pull/1/head
orbiter 11 years ago
parent 2944822bb0
commit 97983ba89f

@ -26,6 +26,7 @@ package net.yacy.cora.protocol;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.InetAddress;
@ -550,9 +551,11 @@ public class Domains {
static {
// using http://javainetlocator.sourceforge.net/ if library is present
// we use this class using reflection to be able to remove it because that class is old and without maintenancy
// we use this class using reflection to be able to remove it because that class is old and without maintenance
InetAddressLocatorClass = ClassProvider.load("net.sf.javainetlocator.InetAddressLocator", new File("lib/InetAddressLocator.jar"));
InetAddressLocatorGetLocaleInetAddressMethod = ClassProvider.getStaticMethod(InetAddressLocatorClass, "getLocale", new Class[]{InetAddress.class});
final Class<?>[] args = (Class<?>[]) Array.newInstance(Class.class, 1);
args[0] = InetAddress.class;
InetAddressLocatorGetLocaleInetAddressMethod = ClassProvider.getStaticMethod(InetAddressLocatorClass, "getLocale", args);
ccSLD_TLD.addAll(Arrays.asList(ccSLD_TLD_list));
}

@ -41,6 +41,7 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.RandomAccessFile;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.InetAddress;
@ -162,7 +163,7 @@ public class FTPClient {
}
this.cmd = line2args(com);
try {
ret = (((Boolean) getClass().getMethod(this.cmd[0].toUpperCase(), new Class[0]).invoke(this, new Object[0]))
ret = (((Boolean) getClass().getMethod(this.cmd[0].toUpperCase(), (Class<?>[]) Array.newInstance(Class.class, 0)).invoke(this, (Object[]) Array.newInstance(Object.class, 0)))
.booleanValue());
} catch (final InvocationTargetException e) {
if (e.getMessage() != null) {
@ -296,7 +297,7 @@ public class FTPClient {
// Class c = this.getClass().getClassLoader().loadClass(obj);
// locate public static main(String[]) method
final Class<?>[] parameterType = new Class[1];
final Class<?>[] parameterType = (Class<?>[]) Array.newInstance(Class.class, 1);
parameterType[0] = Class.forName("[Ljava.lang.String;");
Method m = c.getMethod("main", parameterType);

@ -24,6 +24,7 @@
package net.yacy.cora.storage;
import java.lang.reflect.Array;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Collection;
@ -61,7 +62,7 @@ public final class ConcurrentARC<K, V> extends AbstractMap<K, V> implements Map<
while (m < partitions) m = m * 2;
int partitionSize = cacheSize / m;
if (partitionSize < 4) partitionSize = 4;
this.arc = new HashARC[m];
this.arc = (ARC<K, V>[]) Array.newInstance(HashARC.class, m);
for (int i = 0; i < this.arc.length; i++) this.arc[i] = new HashARC<K, V>(partitionSize);
m -= 1;
this.mask = m;
@ -79,7 +80,7 @@ public final class ConcurrentARC<K, V> extends AbstractMap<K, V> implements Map<
while (m < partitions) m = m * 2;
int partitionSize = cacheSize / m;
if (partitionSize < 4) partitionSize = 4;
this.arc = new ComparableARC[m];
this.arc = (ARC<K, V>[]) Array.newInstance(ComparableARC.class, m);
for (int i = 0; i < this.arc.length; i++) this.arc[i] = new ComparableARC<K, V>(partitionSize, comparator);
m -= 1;
this.mask = m;

@ -22,6 +22,7 @@ package net.yacy.crawler;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
@ -353,7 +354,7 @@ public class HostBalancer implements Balancer {
public Iterator<Request> iterator() throws IOException {
final Iterator<HostQueue> hostsIterator = this.queues.values().iterator();
@SuppressWarnings("unchecked")
final Iterator<Request>[] hostIterator = new Iterator[1];
final Iterator<Request>[] hostIterator = (Iterator<Request>[]) Array.newInstance(Iterator.class, 1);
hostIterator[0] = null;
return new Iterator<Request>() {
@Override

@ -22,6 +22,7 @@ package net.yacy.crawler;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Iterator;
@ -459,7 +460,7 @@ public class HostQueue implements Balancer {
public Iterator<Request> iterator() throws IOException {
final Iterator<Map.Entry<Integer, Index>> depthIterator = this.depthStacks.entrySet().iterator();
@SuppressWarnings("unchecked")
final Iterator<Row.Entry>[] rowIterator = new Iterator[1];
final Iterator<Row.Entry>[] rowIterator = (Iterator<Row.Entry>[]) Array.newInstance(Iterator.class, 1);
rowIterator[0] = null;
return new Iterator<Request>() {
@Override

@ -28,6 +28,7 @@
package net.yacy.data;
import java.lang.reflect.Array;
import java.util.ArrayList;
import net.yacy.document.parser.html.CharacterCoding;
@ -62,10 +63,10 @@ public class Diff {
*/
public Diff(final String original, final String changed, final int minConsecutive) {
if (original == null || changed == null) throw new NullPointerException("input Strings must be null");
this.original = new Comparable[original.length()];
this.original = (Object[]) Array.newInstance(Comparable.class, original.length());
for (int i=0; i<original.length(); i++)
this.original[i] = Character.valueOf(original.charAt(i));
this.changed = new Comparable[changed.length()];
this.changed = (Object[]) Array.newInstance(Comparable.class, changed.length());
for (int i=0; i<changed.length(); i++)
this.changed[i] = Character.valueOf(changed.charAt(i));
parse((minConsecutive > 0) ? minConsecutive : 1);

@ -37,6 +37,7 @@ import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Array;
import java.net.MalformedURLException;
import java.util.Date;
import java.util.concurrent.ArrayBlockingQueue;
@ -176,7 +177,7 @@ public class MediawikiImporter extends Thread implements Importer {
final BlockingQueue<wikiparserrecord> out = new ArrayBlockingQueue<wikiparserrecord>(threads * 10);
final ExecutorService service = Executors.newFixedThreadPool(threads + 1);
final convertConsumer[] consumers = new convertConsumer[threads];
final Future<?>[] consumerResults = new Future[threads];
final Future<?>[] consumerResults = (Future<?>[]) Array.newInstance(Future.class, threads);
for (int i = 0; i < threads; i++) {
consumers[i] = new convertConsumer(in, out, poison);
consumerResults[i] = service.submit(consumers[i]);

@ -29,6 +29,7 @@ import java.io.CharArrayReader;
import java.io.File;
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Array;
import java.net.MalformedURLException;
import java.nio.charset.Charset;
import java.text.NumberFormat;
@ -222,7 +223,7 @@ public class ContentScraper extends AbstractScraper implements Scraper {
this.navigation = new SizeLimitedMap<String, DigestURL>(maxLinks);
this.script = new SizeLimitedSet<DigestURL>(maxLinks);
this.titles = new LinkedHashSet<String>();
this.headlines = new ArrayList[6];
this.headlines = (List<String>[]) Array.newInstance(ArrayList.class, 6);
for (int i = 0; i < this.headlines.length; i++) this.headlines[i] = new ArrayList<String>();
this.bold = new ClusteredScoreMap<String>();
this.italic = new ClusteredScoreMap<String>();

@ -30,6 +30,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.ref.SoftReference;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.URL;
@ -732,11 +733,12 @@ public class YaCyDefaultServlet extends HttpServlet {
}
}
final Class<?> c = provider.loadClass(classFile);
final Class<?>[] params = new Class[]{
RequestHeader.class,
serverObjects.class,
serverSwitch.class};
final Class<?> c = provider.loadClass(classFile);
final Class<?>[] params = (Class<?>[]) Array.newInstance(Class.class, 3);
params[0]= RequestHeader.class;
params[1] = serverObjects.class;
params[2] = serverSwitch.class;
m = c.getMethod("respond", params);
if (MemoryControl.shortStatus()) {

@ -28,6 +28,7 @@ package net.yacy.kelondro.blob;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
@ -852,7 +853,7 @@ public class ArrayStack implements BLOB {
bi.blob.delete(key);
} else {
@SuppressWarnings("unchecked")
final FutureTask<Boolean>[] t = new FutureTask[this.blobs.size() - 1];
final FutureTask<Boolean>[] t = (FutureTask<Boolean>[]) Array.newInstance(FutureTask.class, this.blobs.size() - 1);
int i = 0;
for (final blobItem bi: this.blobs) {
if (i < t.length) {

@ -29,6 +29,7 @@ package net.yacy.kelondro.blob;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collection;
@ -81,7 +82,7 @@ public class MapDataMining extends MapHeap {
ScoreMap<String>[] cluster = null;
if (sortfields == null) this.sortClusterMap = null; else {
this.sortClusterMap = new ConcurrentHashMap<String, ScoreMap<String>>();
cluster = new ScoreMap[sortfields.length];
cluster = (ScoreMap<String>[]) Array.newInstance(ScoreMap.class, sortfields.length);
for (int i = 0; i < sortfields.length; i++) {
cluster[i] = new ConcurrentScoreMap<String>();
}

@ -25,6 +25,7 @@
package net.yacy.kelondro.index;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@ -326,7 +327,7 @@ public final class RAMIndexCluster implements Index, Iterable<Row.Entry>, Clonea
col.add(element.rows(up, firstKey));
}
}
return StackIterator.stack(col.toArray(new CloneableIterator[col.size()]));
return StackIterator.stack(col.toArray((CloneableIterator<Entry>[]) Array.newInstance(CloneableIterator.class, col.size())));
}
}

@ -26,6 +26,7 @@
package net.yacy.kelondro.rwi;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
@ -291,7 +292,10 @@ public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
Method meth = null;
try {
final Class<?> c = net.yacy.kelondro.rwi.ReferenceContainer.class;
meth = c.getMethod("mergeUnique", new Class[]{Object.class, Object.class});
final Class<?>[] args = (Class<?>[]) Array.newInstance(Class.class, 2);
args[0] = Object.class;
args[1] = Object.class;
meth = c.getMethod("mergeUnique", args);
} catch (final SecurityException e) {
System.out.println("Error while initializing containerMerge.SecurityException: " + e.getMessage());
meth = null;

@ -28,6 +28,7 @@ package net.yacy.kelondro.table;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collection;
@ -566,7 +567,7 @@ public class SplitTable implements Index, Iterable<Row.Entry> {
@Override
@SuppressWarnings("unchecked")
public synchronized CloneableIterator<Row.Entry> rows() throws IOException {
final CloneableIterator<Row.Entry>[] c = new CloneableIterator[this.tables.size()];
final CloneableIterator<Row.Entry>[] c = (CloneableIterator<Row.Entry>[]) Array.newInstance(CloneableIterator.class, this.tables.size());
final Iterator<Index> i = this.tables.values().iterator();
int d = 0;
while (i.hasNext()) {

@ -22,6 +22,7 @@
package net.yacy.kelondro.util;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
@ -204,7 +205,10 @@ public class MergeIterator<E> implements CloneableIterator<E> {
Method meth = null;
try {
final Class<?> c = net.yacy.kelondro.util.MergeIterator.class;
meth = c.getMethod("mergeEqualByReplace", new Class[]{Object.class, Object.class});
final Class<?>[] args = (Class<?>[]) Array.newInstance(Class.class, 2);
args[0] = Object.class;
args[1] = Object.class;
meth = c.getMethod("mergeEqualByReplace", args);
} catch (final SecurityException e) {
System.out.println("Error while initializing simpleMerge (1): " + e.getMessage());
meth = null;

@ -22,6 +22,7 @@
package net.yacy.kelondro.util;
import java.lang.reflect.Array;
import java.util.ConcurrentModificationException;
import net.yacy.cora.order.CloneableIterator;
@ -124,7 +125,7 @@ public class StackIterator<E> implements CloneableIterator<E> {
return new StackIterator<A>(iterators[0], iterators[1]);
}
CloneableIterator<A> a = iterators[0];
final CloneableIterator<A>[] iterators0 = new CloneableIterator[iterators.length - 1];
final CloneableIterator<A>[] iterators0 = (CloneableIterator<A>[]) Array.newInstance(CloneableIterator.class, iterators.length - 1);
System.arraycopy(iterators, 1, iterators0, 0, iterators.length - 1);
if (a == null) return stack(iterators0);
return new StackIterator<A>(a, stack(iterators0));

@ -26,6 +26,7 @@
package net.yacy.peers;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@ -235,7 +236,7 @@ public class Dispatcher {
// init the result vector
final int partitionCount = this.seeds.scheme.verticalPartitions();
final List<ReferenceContainer<WordReference>>[] partitions = new ArrayList[partitionCount];
final List<ReferenceContainer<WordReference>>[] partitions = (List<ReferenceContainer<WordReference>>[]) Array.newInstance(ReferenceContainer.class, partitionCount);
for (int i = 0; i < partitions.length; i++) partitions[i] = new ArrayList<ReferenceContainer<WordReference>>();
// check all entries and split them to the partitions
@ -258,7 +259,7 @@ public class Dispatcher {
// check all entries and split them to the partitions
@SuppressWarnings("unchecked")
final ReferenceContainer<WordReference>[] partitionBuffer = new ReferenceContainer[partitionCount];
final ReferenceContainer<WordReference>[] partitionBuffer = (ReferenceContainer<WordReference>[]) Array.newInstance(ReferenceContainer.class, partitionCount);
// init the new partitions
for (int j = 0; j < partitionBuffer.length; j++) {

@ -27,6 +27,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Array;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collection;
@ -386,7 +387,7 @@ public final class Fulltext {
int subsetscount = 1 + (hosthashes.size() / 255); // if the list is too large, we get a "too many boolean clauses" exception
int c = 0;
@SuppressWarnings("unchecked")
List<String>[] subsets = new ArrayList[subsetscount];
List<String>[] subsets = (List<String>[]) Array.newInstance(ArrayList.class, subsetscount);
for (int i = 0; i < subsetscount; i++) subsets[i] = new ArrayList<String>();
for (String hosthash: hosthashes) subsets[c++ % subsetscount].add(hosthash);
for (List<String> subset: subsets) {

@ -27,6 +27,7 @@ package net.yacy.search.schema;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.util.ArrayList;
@ -337,9 +338,15 @@ public class CollectionConfiguration extends SchemaConfiguration implements Seri
public final ArrayList<String>[] urlProtocols, urlStubs, urlAnchorTexts;
@SuppressWarnings("unchecked")
public Subgraph(int inboundSize, int outboundSize) {
this.urlProtocols = new ArrayList[]{new ArrayList<String>(inboundSize), new ArrayList<String>(outboundSize)};
this.urlStubs = new ArrayList[]{new ArrayList<String>(inboundSize), new ArrayList<String>(outboundSize)};
this.urlAnchorTexts = new ArrayList[]{new ArrayList<String>(inboundSize), new ArrayList<String>(outboundSize)};
this.urlProtocols = (ArrayList<String>[]) Array.newInstance(ArrayList.class, 2);
this.urlProtocols[0] = new ArrayList<String>(inboundSize);
this.urlProtocols[1] = new ArrayList<String>(outboundSize);
this.urlStubs = (ArrayList<String>[]) Array.newInstance(ArrayList.class, 2);
this.urlStubs[0] = new ArrayList<String>(inboundSize);
this.urlStubs[1] = new ArrayList<String>(outboundSize);
this.urlAnchorTexts = (ArrayList<String>[]) Array.newInstance(ArrayList.class, 2);
this.urlAnchorTexts[0] = new ArrayList<String>(inboundSize);
this.urlAnchorTexts[1] = new ArrayList<String>(outboundSize);
}
}

@ -1,5 +1,6 @@
package net.yacy.search.schema;
import java.lang.reflect.Array;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
@ -96,7 +97,7 @@ public class HyperlinkEdges implements Iterable<HyperlinkEdge> {
public Iterator<HyperlinkEdge> iterator() {
final Iterator<Map.Entry<MultiProtocolURL, Targets>> i = this.edges.entrySet().iterator();
@SuppressWarnings("unchecked")
final Iterator<HyperlinkEdge.Target>[] tc = new Iterator[1];
final Iterator<HyperlinkEdge.Target>[] tc = (Iterator<HyperlinkEdge.Target>[]) Array.newInstance(Iterator.class, 1);
tc[0] = null;
final MultiProtocolURL[] su = new MultiProtocolURL[1];
su[0] = null;

Loading…
Cancel
Save