From 216a15c3d8eb8be86909f238d5fd9a4047ef2797 Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Tue, 15 Dec 2015 16:24:32 +0800 Subject: [PATCH] --- src/org/redkale/util/ResourceFactory.java | 32 +++++++++++++---------- src/org/redkale/util/Sheet.java | 8 +++--- src/org/redkale/util/Utility.java | 6 ++++- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/org/redkale/util/ResourceFactory.java b/src/org/redkale/util/ResourceFactory.java index b22f997ae..d3af21809 100644 --- a/src/org/redkale/util/ResourceFactory.java +++ b/src/org/redkale/util/ResourceFactory.java @@ -29,11 +29,11 @@ public final class ResourceFactory { private static final ResourceFactory instance = new ResourceFactory(null); - private final ConcurrentHashMap interceptmap = new ConcurrentHashMap<>(); + private final ConcurrentHashMap interceptmap = new ConcurrentHashMap(); - private final ConcurrentHashMap, ConcurrentHashMap> store = new ConcurrentHashMap<>(); + private final ConcurrentHashMap, ConcurrentHashMap> store = new ConcurrentHashMap(); - private final ConcurrentHashMap> gencstore = new ConcurrentHashMap<>(); + private final ConcurrentHashMap> gencstore = new ConcurrentHashMap(); private ResourceFactory(ResourceFactory parent) { this.parent = parent; @@ -71,7 +71,7 @@ public final class ResourceFactory { public void register(final String name, final Class clazz, final A rs) { ConcurrentHashMap map = this.store.get(clazz); if (map == null) { - ConcurrentHashMap sub = new ConcurrentHashMap<>(); + ConcurrentHashMap sub = new ConcurrentHashMap(); sub.put(name, rs); store.put(clazz, sub); } else { @@ -86,7 +86,7 @@ public final class ResourceFactory { } ConcurrentHashMap map = this.gencstore.get(clazz); if (map == null) { - ConcurrentHashMap sub = new ConcurrentHashMap<>(); + ConcurrentHashMap sub = new ConcurrentHashMap(); sub.put(name, rs); gencstore.put(clazz, sub); } else { @@ -118,17 +118,19 @@ public final class ResourceFactory { return null; } - public A findChild(String name, Class clazz) { + public A findChild(final String name, final Class clazz) { A rs = find(name, clazz); if (rs != null) return rs; - Optional, ConcurrentHashMap>> opt = this.store.entrySet().stream() - .filter(x -> clazz.isAssignableFrom(x.getKey()) && x.getValue().containsKey(name)) - .findFirst(); - return opt.isPresent() ? (A) opt.get().getValue().get(name) : null; + for (Map.Entry, ConcurrentHashMap> en : this.store.entrySet()) { //不用forEach为兼容JDK 6 + if (!clazz.isAssignableFrom(en.getKey())) continue; + Object v = en.getValue().get(name); + if (v != null) return (A) v; + } + return null; } public Map find(final Pattern reg, Class clazz, A exclude) { - Map result = new LinkedHashMap<>(); + Map result = new LinkedHashMap(); load(reg, clazz, exclude, result); return result; } @@ -136,9 +138,11 @@ public final class ResourceFactory { private void load(final Pattern reg, Class clazz, final A exclude, final Map result) { ConcurrentHashMap map = this.store.get(clazz); if (map != null) { - map.forEach((x, y) -> { + for (Map.Entry en : map.entrySet()) { // 不用forEach为兼容JDK 6 + String x = en.getKey(); + Object y = en.getValue(); if (y != exclude && reg.matcher(x).find() && result.get(x) == null) result.put(x, (A) y); - }); + } } if (parent != null) parent.load(reg, clazz, exclude, result); } @@ -148,7 +152,7 @@ public final class ResourceFactory { } public boolean inject(final Object src, final T attachment) { - return inject(src, attachment, new ArrayList<>()); + return inject(src, attachment, new ArrayList()); } private boolean inject(final Object src, final T attachment, final List list) { diff --git a/src/org/redkale/util/Sheet.java b/src/org/redkale/util/Sheet.java index bb906fa30..cd456cfd9 100644 --- a/src/org/redkale/util/Sheet.java +++ b/src/org/redkale/util/Sheet.java @@ -35,14 +35,14 @@ public class Sheet implements java.io.Serializable { } public static Sheet asSheet(Collection data) { - return data == null ? new Sheet<>() : new Sheet<>(data.size(), data); + return data == null ? new Sheet() : new Sheet(data.size(), data); } public Sheet copyTo(Sheet copy) { if (copy == null) return copy; copy.total = this.total; if (this.getRows() != null) { - copy.setRows(new ArrayList<>(this.getRows())); + copy.setRows(new ArrayList(this.getRows())); } else { copy.rows = null; } @@ -80,8 +80,8 @@ public class Sheet implements java.io.Serializable { } public List list(boolean created) { - if (this.rows == null) return created ? new ArrayList<>() : null; - return (this.rows instanceof List) ? (List) this.rows : new ArrayList<>(this.rows); + if (this.rows == null) return created ? new ArrayList() : null; + return (this.rows instanceof List) ? (List) this.rows : new ArrayList(this.rows); } public void setRows(Collection data) { diff --git a/src/org/redkale/util/Utility.java b/src/org/redkale/util/Utility.java index 2ae1b6fbf..e5410b31a 100644 --- a/src/org/redkale/util/Utility.java +++ b/src/org/redkale/util/Utility.java @@ -523,7 +523,11 @@ public final class Utility { conn.setReadTimeout(3000); if (conn instanceof HttpsURLConnection) ((HttpsURLConnection) conn).setSSLSocketFactory((ctx == null ? DEFAULTSSL_CONTEXT : ctx).getSocketFactory()); conn.setRequestMethod(method); - if (headers != null) headers.forEach((x, y) -> conn.setRequestProperty(x, y)); + if (headers != null) { + for (Map.Entry en : headers.entrySet()) { //不用forEach是为了兼容JDK 6 + conn.setRequestProperty(en.getKey(), en.getValue()); + } + } if (body != null) { conn.setDoInput(true); conn.setDoOutput(true);