From 8b6725fc316ddab0453a4b4e96a05d5bfcc6248c Mon Sep 17 00:00:00 2001 From: aha00a Date: Wed, 25 Mar 2015 20:33:23 +0900 Subject: [PATCH 01/44] add test for SimpleDateFormat --- .../utils/SimpleDateFormatUtilTest.groovy | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy index fa9f1ee..c100def 100644 --- a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy +++ b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy @@ -1,7 +1,8 @@ package common.basic.utils - import spock.lang.Specification +import java.text.SimpleDateFormat + class SimpleDateFormatUtilTest extends Specification { def "yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS"() { expect: @@ -9,4 +10,36 @@ class SimpleDateFormatUtilTest extends Specification { SimpleDateFormatUtil.yyyy_dash_MM_dash_dd_space_HH(SimpleDateFormatUtil.yyyy_dash_MM_dash_dd_space_HH("1982-10-23 10", null)) == "1982-10-23 10"; } + + + public static String dateFormat = "yyyyMMdd"; + public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); + public static int count = 10 * 1000 * 1000; + + public static synchronized SimpleDateFormat getSimpleDateFormat() { + return simpleDateFormat; + } + + public static SimpleDateFormat createSimpleDateFormat() { + return new SimpleDateFormat(dateFormat); + } + + def "staticInstanceWithLock"() { + // about 18sec + for (int i = 0; i < count; i++) { + getSimpleDateFormat().parse("20150101") + } + expect: + true; + } + + def "localInstanceWithoutLock"() { + // about 7sec + for (int i = 0; i < count; i++) { + createSimpleDateFormat().parse("20150101") + } + + expect: + true; + } } From 7f0c200a0408f62ee01c3eb2eaa45380b59c4f2e Mon Sep 17 00:00:00 2001 From: aha00a Date: Wed, 25 Mar 2015 20:42:24 +0900 Subject: [PATCH 02/44] fix test --- .../basic/utils/SimpleDateFormatUtilTest.groovy | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy index c100def..1bea6c6 100644 --- a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy +++ b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy @@ -16,18 +16,18 @@ class SimpleDateFormatUtilTest extends Specification { public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); public static int count = 10 * 1000 * 1000; - public static synchronized SimpleDateFormat getSimpleDateFormat() { - return simpleDateFormat; + public static synchronized Date parseUsingStatic(String s) { + return simpleDateFormat.parse(s); } - public static SimpleDateFormat createSimpleDateFormat() { - return new SimpleDateFormat(dateFormat); + public static Date parseUsingLocal(String s) { + return new SimpleDateFormat(dateFormat).parse(s); } def "staticInstanceWithLock"() { // about 18sec for (int i = 0; i < count; i++) { - getSimpleDateFormat().parse("20150101") + parseUsingStatic("20150101") } expect: true; @@ -36,7 +36,7 @@ class SimpleDateFormatUtilTest extends Specification { def "localInstanceWithoutLock"() { // about 7sec for (int i = 0; i < count; i++) { - createSimpleDateFormat().parse("20150101") + parseUsingLocal("20150101") } expect: From 0da10c1daf530365207ab9b762b4cf00d9ba776c Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 25 Mar 2015 22:09:49 +0900 Subject: [PATCH 03/44] PostT class -> TypeWrapper --- .../common/basic/generics/TypeWrapperT.java | 18 ----- .../common/basic/utils/ReflectionUtil.java | 26 +++++++ .../basic/generics/TypeWrapperTTest.java | 67 +++++++++++++++++++ 3 files changed, 93 insertions(+), 18 deletions(-) create mode 100644 java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java diff --git a/java-common-basic/src/main/java/common/basic/generics/TypeWrapperT.java b/java-common-basic/src/main/java/common/basic/generics/TypeWrapperT.java index 5db9ad4..4c26905 100644 --- a/java-common-basic/src/main/java/common/basic/generics/TypeWrapperT.java +++ b/java-common-basic/src/main/java/common/basic/generics/TypeWrapperT.java @@ -23,22 +23,4 @@ public int compareTo(TypeWrapperT o) { return null != this._type && this._type.equals(o._type) ? 0 : 1; } - public T newInstance() { - Class instanceType = getClassT(); - try { - return instanceType.newInstance(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public Class getClassT() { - Class instanceType; - if (_type instanceof ParameterizedType) { - instanceType = (Class) ((ParameterizedType) _type).getRawType(); - } else { - instanceType = (Class) _type; - } - return instanceType; - } } diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 45f357a..b5dea85 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -8,6 +8,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -376,4 +377,29 @@ public boolean predicate(Field field) { } } + + private static final String TYPE_CLASS_NAME_PREFIX = "class "; + private static final String TYPE_INTERFACE_NAME_PREFIX = "interface "; + + public static String getClassName(Type type) { + if (type==null) { + return ""; + } + String className = type.toString(); + if (className.startsWith(TYPE_CLASS_NAME_PREFIX)) { + className = className.substring(TYPE_CLASS_NAME_PREFIX.length()); + } else if (className.startsWith(TYPE_INTERFACE_NAME_PREFIX)) { + className = className.substring(TYPE_INTERFACE_NAME_PREFIX.length()); + } + return className; + } + + public static Class getClass(Type type) + throws ClassNotFoundException { + String className = getClassName(type); + if (className==null || className.isEmpty()) { + return null; + } + return Class.forName(className); + } } diff --git a/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java b/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java new file mode 100644 index 0000000..6898556 --- /dev/null +++ b/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java @@ -0,0 +1,67 @@ +package common.basic.generics; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.introspect.VisibilityChecker; +import common.basic.facades.jsons.JsonUtil; +import common.basic.geometiries.Point; +import common.basic.logs.Logger; +import org.junit.Test; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.List; + +import static org.junit.Assert.*; + +public class TypeWrapperTTest { + + public static class AAA { + T t; + } + + public static class Some { + public int intValue; + public String strValue; + } + + private static ObjectMapper createObjectMapper() { + ObjectMapper objectMapper = new ObjectMapper(); + +// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + objectMapper.setVisibilityChecker(VisibilityChecker.Std.defaultInstance().withFieldVisibility(JsonAutoDetect.Visibility.ANY)); + + return objectMapper; + } + + @Test + public void testToJsonString() throws Exception { + + Class declaringClass = AAA.class.getDeclaringClass(); + TypeWrapperT> typeWrapperT = new TypeWrapperT>(){}; + + //Class> listClass = typeWrapperT.getClassT(); + //List.class; + + AAA instance = new AAA(); + Class aClass1 = instance.getClass(); + + Logger.e(typeWrapperT); + + ParameterizedType parameterizedType = (ParameterizedType) typeWrapperT._type; + Type rawType = parameterizedType.getRawType(); + + Class aClass = typeWrapperT._type.getClass(); + + String json = "{t:{intValue:1, strValue:\"str\"}}"; + + ObjectMapper objectMapper = createObjectMapper(); + + JavaType javaType = objectMapper.getTypeFactory().constructType(typeWrapperT.getType()); + Type type = objectMapper.readValue(json, aClass); + Logger.e(type); + } +} \ No newline at end of file From 9ff5a508978c2dda3dd50343411c5df63f16c9c5 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 25 Mar 2015 22:10:30 +0900 Subject: [PATCH 04/44] PostT class -> TypeWrapper --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 3eb3f2f..7af8e0f 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150316.171600 +Library-Version: 1.0.20150325.221000 From 4f4206d38f0b72bbf9f56539cdd274659e820026 Mon Sep 17 00:00:00 2001 From: aha00a Date: Thu, 26 Mar 2015 22:03:19 +0900 Subject: [PATCH 05/44] reduce loop count --- .../groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy index 1bea6c6..3382187 100644 --- a/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy +++ b/java-common-basic/src/test/groovy/common/basic/utils/SimpleDateFormatUtilTest.groovy @@ -14,7 +14,7 @@ class SimpleDateFormatUtilTest extends Specification { public static String dateFormat = "yyyyMMdd"; public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); - public static int count = 10 * 1000 * 1000; + public static int count = 10/* * 1000 * 1000*/; public static synchronized Date parseUsingStatic(String s) { return simpleDateFormat.parse(s); From e9ed7a9cd7e6fdda16053f802964beba8a1f6642 Mon Sep 17 00:00:00 2001 From: aha00a Date: Thu, 26 Mar 2015 22:10:35 +0900 Subject: [PATCH 06/44] add ListUtil.toMap(), ICallbackListToMap. --- .../common/basic/interfaces/ICallbackListToMap.java | 5 +++++ .../src/main/java/common/basic/utils/ListUtil.java | 11 +++++++++++ .../groovy/common/basic/utils/ListUtilTest.groovy | 13 +++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackListToMap.java diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackListToMap.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackListToMap.java new file mode 100644 index 0000000..c3732e8 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackListToMap.java @@ -0,0 +1,5 @@ +package common.basic.interfaces; + +public interface ICallbackListToMap { + TKey getKey(TValue value); +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 6b507c6..0202cf7 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -1,5 +1,6 @@ package common.basic.utils; +import common.basic.interfaces.ICallbackListToMap; import common.basic.interfaces.ICallbackTransform; import common.basic.interfaces.IPredicator; import common.basic.logs.Logger; @@ -8,6 +9,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -64,6 +66,15 @@ public static List toListString(Object[] arrayObject) { return list; } + public static Map toMap(List list, ICallbackListToMap callback) { + Map map = new HashMap(); + for (TValue value : list) { + map.put(callback.getKey(value), value); + } + + return map; + } + public static List create(T... array) { return Arrays.asList(array); } diff --git a/java-common-basic/src/test/groovy/common/basic/utils/ListUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/ListUtilTest.groovy index 20e2970..45c08c3 100644 --- a/java-common-basic/src/test/groovy/common/basic/utils/ListUtilTest.groovy +++ b/java-common-basic/src/test/groovy/common/basic/utils/ListUtilTest.groovy @@ -1,5 +1,6 @@ package common.basic.utils +import common.basic.interfaces.ICallbackListToMap import spock.lang.Specification class ListUtilTest extends Specification { @@ -44,6 +45,18 @@ class ListUtilTest extends Specification { list == ["null", "1", "A", "20C"] } + def "toMap"() { + Map map = ListUtil.toMap(["A", "B", "C"], new ICallbackListToMap() { + @Override + public String getKey(String s) { + return "key" + s; + } + }); + + expect: + map == [ "keyA": "A", "keyB": "B", "keyC": "C"] + } + def "getIndexNext"() { expect: ListUtil.getIndexNext(size, i) == result From 5ebedd92072e5f496892851ff3299d007d6e2497 Mon Sep 17 00:00:00 2001 From: aha00a Date: Fri, 27 Mar 2015 13:16:09 +0900 Subject: [PATCH 07/44] add TODO. --- .../basic/generics/TypeWrapperTTest.java | 39 +++++++++---------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java b/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java index 6898556..4295750 100644 --- a/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java +++ b/java-common-basic/src/test/java/common/basic/generics/TypeWrapperTTest.java @@ -5,16 +5,11 @@ import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.introspect.VisibilityChecker; -import common.basic.facades.jsons.JsonUtil; -import common.basic.geometiries.Point; import common.basic.logs.Logger; import org.junit.Test; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; -import java.util.List; - -import static org.junit.Assert.*; public class TypeWrapperTTest { @@ -39,29 +34,31 @@ private static ObjectMapper createObjectMapper() { @Test public void testToJsonString() throws Exception { + Logger.e("TODO: fix this test below."); + if(false) { + Class declaringClass = AAA.class.getDeclaringClass(); + TypeWrapperT> typeWrapperT = new TypeWrapperT>(){}; - Class declaringClass = AAA.class.getDeclaringClass(); - TypeWrapperT> typeWrapperT = new TypeWrapperT>(){}; - - //Class> listClass = typeWrapperT.getClassT(); - //List.class; + //Class> listClass = typeWrapperT.getClassT(); + //List.class; - AAA instance = new AAA(); - Class aClass1 = instance.getClass(); + AAA instance = new AAA(); + Class aClass1 = instance.getClass(); - Logger.e(typeWrapperT); + Logger.e(typeWrapperT); - ParameterizedType parameterizedType = (ParameterizedType) typeWrapperT._type; - Type rawType = parameterizedType.getRawType(); + ParameterizedType parameterizedType = (ParameterizedType) typeWrapperT._type; + Type rawType = parameterizedType.getRawType(); - Class aClass = typeWrapperT._type.getClass(); + Class aClass = typeWrapperT._type.getClass(); - String json = "{t:{intValue:1, strValue:\"str\"}}"; + String json = "{t:{intValue:1, strValue:\"str\"}}"; - ObjectMapper objectMapper = createObjectMapper(); + ObjectMapper objectMapper = createObjectMapper(); - JavaType javaType = objectMapper.getTypeFactory().constructType(typeWrapperT.getType()); - Type type = objectMapper.readValue(json, aClass); - Logger.e(type); + JavaType javaType = objectMapper.getTypeFactory().constructType(typeWrapperT.getType()); + Type type = objectMapper.readValue(json, aClass); + Logger.e(type); + } } } \ No newline at end of file From e10db22825b5de760cecca84b60c71f144340b37 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 4 May 2015 23:31:42 +0900 Subject: [PATCH 08/44] =?UTF-8?q?***************=20bx-web-2015=20->=20bx-c?= =?UTF-8?q?ommon=202=EC=B0=A8=20lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://trello.com/c/5xCoohNj/333-bx-web-2015-bx-common --- .../main/java/common/basic/utils/Base64Util.java | 13 +++++++++++++ .../main/java/common/basic/utils/StringUtil.java | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 java-common-basic/src/main/java/common/basic/utils/Base64Util.java diff --git a/java-common-basic/src/main/java/common/basic/utils/Base64Util.java b/java-common-basic/src/main/java/common/basic/utils/Base64Util.java new file mode 100644 index 0000000..7b8b89b --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/utils/Base64Util.java @@ -0,0 +1,13 @@ +package common.basic.utils; + +import org.apache.commons.codec.binary.Base64; + +public class Base64Util { + public static String decodeBase64(String base64) { + return new String(Base64.decodeBase64(base64.getBytes())); + } + + public static String encodeBase64(String value) { + return new String(Base64.encodeBase64(value.getBytes())); + } +} diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index e8fbd3e..8932f2f 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -1,5 +1,7 @@ package common.basic.utils; +import org.apache.commons.codec.binary.Base64; + import java.util.List; @SuppressWarnings("UnusedDeclaration") @@ -196,4 +198,5 @@ public static String removeButNumber(String value) { return value.replaceAll("\\D", ""); } + } From fb42512fc3526a1f4f8b79f7474cff2756146abf Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 6 May 2015 01:27:04 +0900 Subject: [PATCH 09/44] =?UTF-8?q?***************=20bx-web-2015=20->=20bx-c?= =?UTF-8?q?ommon=204=EC=B0=A8=20WebParam=20move?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://trello.com/c/5xCoohNj/333-bx-web-2015-bx-common --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../common/basic/utils/ReflectionUtil.java | 102 ++++++++++++------ 2 files changed, 69 insertions(+), 35 deletions(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 7af8e0f..40cdd19 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150325.221000 +Library-Version: 1.0.20150506.012500 diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index b5dea85..68946fb 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -6,6 +6,7 @@ import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -85,44 +86,62 @@ public static void setFieldValue(T instance, Field fie field.setAccessible(true); final Class type = field.getType(); + if(type.isPrimitive()) { - if ("int".equals(type.getName()) && (value instanceof Long)) { - field.setInt(instance, ((Long) value).intValue()); - } else if ("float".equals(type.getName()) && (value instanceof Double)) { - field.setFloat(instance, ((Double) value).floatValue()); - } else if ("boolean".equals(type.getName())) { - field.setBoolean(instance, BooleanUtil.parse(value.toString())); + if (value instanceof String) { + String stringValue = value.toString(); + + if ("int".equals(type.getName())) { + field.setInt(instance, IntUtil.parseInt(stringValue, 0)); + } else if ("long".equals(type.getName())) { + field.setLong(instance, LongUtil.parseLong(stringValue, 0)); + } else if ("float".equals(type.getName())) { + field.setFloat(instance, Float.parseFloat(stringValue)); + } else if ("double".equals(type.getName())) { + field.setDouble(instance, Double.parseDouble(stringValue)); + } else if ("boolean".equals(type.getName())) { + field.setBoolean(instance, BooleanUtil.parse(stringValue)); + } else if ("byte".equals(type.getName())) { + field.setByte(instance, Byte.parseByte(stringValue)); + } else if ("short".equals(type.getName())) { + field.setShort(instance, Short.parseShort(stringValue)); + } else if ("char".equals(type.getName())) { + field.setChar(instance, stringValue.charAt(0)); + } else { + field.set(instance, stringValue); + } } else { - field.set(instance, value); - } - } - else if(type.equals(String.class) || type.equals(Date.class)) - { - field.set(instance, value); - } - else - { - if (type == java.util.List.class && value instanceof List) { - ParameterizedType stringListType = (ParameterizedType) field.getGenericType(); - Class genericClass = (Class) stringListType.getActualTypeArguments()[0]; - - List objects = fromListMapByClass(genericClass, (List>)value); - field.set(instance, objects); - - } else if(type.isEnum()) - { - //noinspection unchecked - field.set(instance, EnumUtil.parse((Class) type, (String) value)); + if ("int".equals(type.getName()) && (value instanceof Long)) { + field.setInt(instance, ((Long) value).intValue()); + } else if ("float".equals(type.getName()) && (value instanceof Double)) { + field.setFloat(instance, ((Double) value).floatValue()); + } else if ("boolean".equals(type.getName())) { + field.setBoolean(instance, BooleanUtil.parse(value.toString())); + } else { + field.set(instance, value); + } } - else { - if(annotationClass == null) - return; - final Object o = type.newInstance(); - setAnnotatedKeyFieldValue(o, annotationClass, value); - field.set(instance, o); - } + } else if(type.equals(String.class) || type.equals(Date.class)) { + field.set(instance, value); + } else if (type == java.util.List.class && value instanceof List) { + ParameterizedType stringListType = (ParameterizedType) field.getGenericType(); + Class genericClass = (Class) stringListType.getActualTypeArguments()[0]; + + List objects = fromListMapByClass(genericClass, (List>)value); + + field.set(instance, objects); + } else if(type.isEnum()) { + //noinspection unchecked + field.set(instance, EnumUtil.parse((Class) type, (String) value)); + } else { + if(annotationClass == null) + return; + + final Object o = type.newInstance(); + setAnnotatedKeyFieldValue(o, annotationClass, value); + field.set(instance, o); } } @@ -328,7 +347,6 @@ public static Map toMap(T t) { } - public static void assignAnnotatedMemberVariable(List listLhs, List listRhs, Class classAnnotation) { if(listLhs.size() == 0) { Logger.e("listLhs.size() == 0"); @@ -402,4 +420,20 @@ public static Class getClass(Type type) } return Class.forName(className); } + + public static void invokeIfExists(T t, String method) { + final Class clazz = t.getClass(); + try { + Method declaredMethod = clazz.getDeclaredMethod(method); + declaredMethod.invoke(t); + + } catch (NoSuchMethodException e) { + Logger.i(e); + } catch (InvocationTargetException e) { + Logger.i(e); + } catch (IllegalAccessException e) { + Logger.i(e); + } + + } } From 8993d2a72dd821f01470dc45b55d18b3182e5635 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 6 May 2015 04:36:39 +0900 Subject: [PATCH 10/44] ignore noSuchMethod Exception --- .../src/main/java/common/basic/utils/ReflectionUtil.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 68946fb..cc9322a 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -426,9 +426,8 @@ public static void invokeIfExists(T t, String method) { try { Method declaredMethod = clazz.getDeclaredMethod(method); declaredMethod.invoke(t); - } catch (NoSuchMethodException e) { - Logger.i(e); + // Do Nothing } catch (InvocationTargetException e) { Logger.i(e); } catch (IllegalAccessException e) { From 47214260157c6c430c50d69d21f8ee714386790d Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 6 May 2015 04:37:56 +0900 Subject: [PATCH 11/44] ignore noSuchMethod Exception --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 40cdd19..df84b01 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150506.012500 +Library-Version: 1.0.20150506.043700 From 02455ace2b525bb133d6b6922dd635689c437f38 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 6 May 2015 05:57:39 +0900 Subject: [PATCH 12/44] ReflectionUtil improve --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../common/basic/utils/ReflectionUtil.java | 193 ++++++++++++++++++ 2 files changed, 194 insertions(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index df84b01..52e2abd 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150506.043700 +Library-Version: 1.0.20150506.055600 diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index cc9322a..659b0a4 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -1,5 +1,6 @@ package common.basic.utils; +import common.basic.interfaces.ICallbackTransform; import common.basic.interfaces.IPredicator; import common.basic.logs.Logger; @@ -12,6 +13,7 @@ import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -421,6 +423,197 @@ public static Class getClass(Type type) return Class.forName(className); } + + //////////////////////////////// + + + + public static void setFieldByStringArray(T instance, Field field, String[] arrayString, Class annotationClass) throws IllegalAccessException, InstantiationException { + + if (null == arrayString || 0 == arrayString.length) + return; + + field.setAccessible(true); + + final Class type = field.getType(); + + if(type.isPrimitive()) + { + String stringValue = arrayString[0]; + + if (int.class.equals(type)) { + field.setInt(instance, IntUtil.parseInt(stringValue, 0)); + } else if (long.class.equals(type)) { + field.setLong(instance, LongUtil.parseLong(stringValue, 0)); + } else if (float.class.equals(type)) { + field.setFloat(instance, Float.parseFloat(stringValue)); + } else if (double.class.equals(type)) { + field.setDouble(instance, Double.parseDouble(stringValue)); + } else if (boolean.class.equals(type)) { + field.setBoolean(instance, BooleanUtil.parse(stringValue)); + } else if (byte.class.equals(type)) { + field.setByte(instance, Byte.parseByte(stringValue)); + } else if (short.class.equals(type)) { + field.setShort(instance, Short.parseShort(stringValue)); + } else if (char.class.equals(type)) { + field.setChar(instance, stringValue.charAt(0)); + } else { + field.set(instance, stringValue); + } + } else if(type.equals(String.class)) { + String stringValue = arrayString[0]; + field.set(instance, stringValue); + } else if(type.equals(Date.class)) { + String stringValue = arrayString[0]; + Date parse = DateUtil.yyyyMMddHHmmss(stringValue, null); + if (null != parse) + field.set(instance, parse); + + } else if (type.equals(java.util.List.class)) { + ParameterizedType stringListType = (ParameterizedType) field.getGenericType(); + Class genericClass = (Class) stringListType.getActualTypeArguments()[0]; + + if (genericClass.isEnum()) { + List objects = new ArrayList(); + for (String singleValue : arrayString) { + Enum parse = EnumUtil.parse((Class) genericClass, singleValue); + objects.add(parse); + } + field.set(instance, objects); + } else if (genericClass.equals(String.class)){ + List objects = new ArrayList(); + Collections.addAll(objects, arrayString); + field.set(instance, objects); + } else { + if (Integer.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Integer transform(String s) { + return IntUtil.parseInt(s, 0); + } + })); + } else if (Long.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Long transform(String s) { + return LongUtil.parseLong(s, 0); + } + })); + } else if (Float.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Float transform(String s) { + return Float.parseFloat(s); + } + })); + } else if (Double.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Double transform(String s) { + return Double.parseDouble(s); + } + })); + } else if (Boolean.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Boolean transform(String s) { + return BooleanUtil.parse(s); + } + })); + } else if (Byte.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Byte transform(String s) { + return Byte.parseByte(s); + } + })); + } else if (Short.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Short transform(String s) { + return Short.parseShort(s); + } + })); + } else if (Character.class.equals(type)) { + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Character transform(String s) { + if (StringUtil.isNullOrEmpty(s)) + return null; + + return s.charAt(0); + } + })); + } else { + Logger.e(field, arrayString); + field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { + @Override + public Object transform(String s) { + return s; + } + })); + } + + + } + } else if(type.isEnum()) { + //noinspection unchecked + String stringValue = arrayString[0]; + field.set(instance, EnumUtil.parse((Class) type, stringValue)); + } else { + if(annotationClass == null) + return; + + final Object o = type.newInstance(); + String stringValue = arrayString[0]; + setAnnotatedKeyFieldValue(o, annotationClass, stringValue); + field.set(instance, o); + } + } + + public static T bindFromStringStringArray(Class clazz, Map map, Class annotationClass) { + final T t; + try { + t = clazz.getConstructor(new Class[0]).newInstance(); + + List listFieldDeclaredRecursive = getListFieldDeclaredRecursive(clazz); + + for (Field field : listFieldDeclaredRecursive) { + String fieldName = field.getName(); + + String[] value = map.get(fieldName); + if (null == value) + continue; + + if(Modifier.isTransient(field.getModifiers())) + continue; + + setFieldByStringArray(t, field, value, annotationClass); + } + + return t; + } + catch (InstantiationException e) { + Logger.e(e); + } + catch (IllegalAccessException e) { + Logger.e(e); + } + catch (InvocationTargetException e) { + Logger.e(e); + } + catch (NoSuchMethodException e) { + Logger.e(e); + } + + return null; + } + + public static T bindFromStringStringArray(Class clazz, Map map) { + return bindFromStringStringArray(clazz, map, null); + } + + public static void invokeIfExists(T t, String method) { final Class clazz = t.getClass(); try { From 171510b2ac2698a4a129baeb50be6a95ebddc955 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 15 Jun 2015 22:38:06 +0900 Subject: [PATCH 13/44] =?UTF-8?q?easypay=20nonActiveX=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?post=ED=98=B8=EC=B6=9C=EB=A1=9C=20=EA=B0=9C=EC=84=A0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 52e2abd..1b080a3 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150506.055600 +Library-Version: 1.0.20150615.202800 From f1d28112a74c63be3e04fd5613da786b2da3b609 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 29 Jun 2015 16:22:04 +0900 Subject: [PATCH 14/44] minimizeFare --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../src/main/java/common/basic/utils/ParamBuilder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 1b080a3..5823ad0 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150615.202800 +Library-Version: 1.0.20150629.162100 diff --git a/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java b/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java index 4de41e4..fe1dc9f 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java +++ b/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java @@ -94,6 +94,6 @@ public String toUrlEncoded() throws UnsupportedEncodingException { listKeyValue.add(URLEncoder.encode(pair.getName(), "UTF-8") + "=" + URLEncoder.encode(pair.getValue(), "UTF-8")); } - return StringUtil.join("=", listKeyValue); + return StringUtil.join("&", listKeyValue); } } From ec3104377b887d1f978979cd98645f78f8d8b9e5 Mon Sep 17 00:00:00 2001 From: roadster Date: Wed, 1 Jul 2015 15:37:47 +0900 Subject: [PATCH 15/44] add support for Long & Integer at ReflectionUtil.setFieldValue --- .../common/basic/utils/ReflectionUtil.java | 12 ++++++++++++ .../utils/ReflectionUtilTestWithJUnit.java | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 659b0a4..1982d4f 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -137,6 +137,18 @@ public static void setFieldValue(T instance, Field fie } else if(type.isEnum()) { //noinspection unchecked field.set(instance, EnumUtil.parse((Class) type, (String) value)); + } else if(type.equals(Integer.class)) { + if(value instanceof String) + try { + field.set(instance, Integer.valueOf((String)value)); + } catch(NumberFormatException e) { + } + } else if(type.equals(Long.class)) { + if(value instanceof String) + try { + field.set(instance, Long.valueOf((String)value)); + } catch(NumberFormatException e) { + } } else { if(annotationClass == null) return; diff --git a/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java b/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java index 2814dd3..0d55c87 100755 --- a/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java +++ b/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java @@ -50,6 +50,8 @@ public void testObjectToMapToObject() throws Exception { public static class TestTest { public int i; public boolean b; + public Integer integer; + public Long long_; } @Test @@ -69,6 +71,23 @@ public void setFieldValue() throws Exception { ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "b"), 0, null); assertEquals(false, testTest.b); + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), null, null); + assertEquals(null, testTest.integer); + + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), "", null); + assertEquals(null, testTest.integer); + + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), "2", null); + assertEquals(new Integer(2), testTest.integer); + + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), null, null); + assertEquals(null, testTest.long_); + + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), "1", null); + assertEquals(new Long(1), testTest.long_); + + ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), "2", null); + assertEquals(new Long(2), testTest.long_); } } From d636b6d778781c338bf597b6c835210777537df3 Mon Sep 17 00:00:00 2001 From: roadster Date: Wed, 1 Jul 2015 15:39:35 +0900 Subject: [PATCH 16/44] update manifest --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 5823ad0..621f665 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150629.162100 +Library-Version: 1.0.20150701.153900 From 001bd473546b162c5127e4fe3b00d0275d6549ba Mon Sep 17 00:00:00 2001 From: roadster Date: Wed, 1 Jul 2015 16:09:39 +0900 Subject: [PATCH 17/44] add support for Long & Integer at ReflectionUtil.setFieldByStringArray --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../common/basic/utils/ReflectionUtil.java | 12 ++++++++++ .../utils/ReflectionUtilTestWithJUnit.java | 24 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 621f665..4e768d1 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150701.153900 +Library-Version: 1.0.20150701.160900 diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 1982d4f..ed4f1fc 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -572,6 +572,18 @@ public Object transform(String s) { //noinspection unchecked String stringValue = arrayString[0]; field.set(instance, EnumUtil.parse((Class) type, stringValue)); + } else if(type.equals(Integer.class)) { + String stringValue = arrayString[0]; + try { + field.set(instance, Integer.valueOf(stringValue)); + } catch(NumberFormatException e) { + } + } else if(type.equals(Long.class)) { + String stringValue = arrayString[0]; + try { + field.set(instance, Long.valueOf(stringValue)); + } catch(NumberFormatException e) { + } } else { if(annotationClass == null) return; diff --git a/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java b/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java index 0d55c87..5541b01 100755 --- a/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java +++ b/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java @@ -89,5 +89,29 @@ public void setFieldValue() throws Exception { ReflectionUtil.setFieldValue(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), "2", null); assertEquals(new Long(2), testTest.long_); } + + @Test + public void setFieldByStringArray() throws Exception { + + TestTest testTest = new TestTest(); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), null, null); + assertEquals(null, testTest.integer); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), new String[] {""}, null); + assertEquals(null, testTest.integer); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "integer"), new String[] {"2"}, null); + assertEquals(new Integer(2), testTest.integer); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), null, null); + assertEquals(null, testTest.long_); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), new String[] {""}, null); + assertEquals(null, testTest.long_); + + ReflectionUtil.setFieldByStringArray(testTest, ReflectionUtil.getFieldDeclaredRecursive(TestTest.class, "long_"), new String[] {"2"}, null); + assertEquals(new Long(2), testTest.long_); + } } From 9568ce6b59e3bafcc54285eb62a27a9a8a70a7e6 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 21 Sep 2015 21:16:13 +0900 Subject: [PATCH 18/44] experimental orm add --- .../java/common/basic/orm/ChainCondition.java | 32 ++++ .../java/common/basic/orm/DbExecutor.java | 73 +++++++++ .../main/java/common/basic/orm/JoinBase.java | 48 ++++++ .../main/java/common/basic/orm/ModelBase.java | 11 ++ .../java/common/basic/orm/QuerySelect.java | 153 ++++++++++++++++++ .../java/common/basic/orm/QueryUpdate.java | 86 ++++++++++ .../main/java/common/basic/orm/WhereBase.java | 83 ++++++++++ .../basic/orm/condition/CompareOperator.java | 88 ++++++++++ .../orm/condition/FieldFieldCompare.java | 19 +++ .../orm/condition/FieldValueCompare.java | 25 +++ .../basic/orm/condition/IChainCondition.java | 5 + .../basic/orm/condition/ICondition.java | 4 + .../orm/condition/IFieldValueCompare.java | 7 + .../basic/orm/condition/LogicalOperator.java | 17 ++ .../common/basic/utils/ResultSetUtil.java | 111 ++++++++++--- .../java/common/basic/utils/StringUtil.java | 17 ++ .../java/common/basic/orm/ModelBaseTest.java | 51 ++++++ 17 files changed, 808 insertions(+), 22 deletions(-) create mode 100644 java-common-basic/src/main/java/common/basic/orm/ChainCondition.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/DbExecutor.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/JoinBase.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/ModelBase.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/QuerySelect.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/QueryUpdate.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/WhereBase.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/CompareOperator.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/FieldFieldCompare.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/FieldValueCompare.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/IChainCondition.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/ICondition.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/IFieldValueCompare.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/condition/LogicalOperator.java create mode 100644 java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java diff --git a/java-common-basic/src/main/java/common/basic/orm/ChainCondition.java b/java-common-basic/src/main/java/common/basic/orm/ChainCondition.java new file mode 100644 index 0000000..fb37858 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/ChainCondition.java @@ -0,0 +1,32 @@ +package common.basic.orm; + +import common.basic.orm.condition.IChainCondition; +import common.basic.orm.condition.LogicalOperator; + +class ChainCondition { + + public static IChainCondition And = new IChainCondition() { + @Override + public LogicalOperator logicalOperator() { + return LogicalOperator.And; + } + + @Override + public String toString() { + return logicalOperator().toString(); + } + }; + + public static IChainCondition Or = new IChainCondition() { + @Override + public LogicalOperator logicalOperator() { + return LogicalOperator.Or; + } + + @Override + public String toString() { + return logicalOperator().toString(); + } + }; + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/DbExecutor.java b/java-common-basic/src/main/java/common/basic/orm/DbExecutor.java new file mode 100644 index 0000000..d29b5aa --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/DbExecutor.java @@ -0,0 +1,73 @@ +package common.basic.orm; + +import common.basic.databases.DatabaseManager; +import common.basic.utils.ResultSetUtil; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +public class DbExecutor { + + private ResultSet executeQuery(String queryString, List listValue) { + Connection connection = null; + try { + connection = DatabaseManager.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement(queryString); + + for (int i = 0; i < listValue.size(); ++i) { + preparedStatement.setObject(i + 1, listValue.get(i)); + } + + return preparedStatement.executeQuery(); + } catch (SQLException e) { + e.printStackTrace(); + return null; + } finally { + if (null != connection) { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + } + + public List> selectList(QuerySelect querySelect) { + String queryString = querySelect.toString(); + + List listValue = querySelect.listValueForBind(); + + ResultSet resultSet = executeQuery(queryString, listValue); + + return ResultSetUtil.getListMap(resultSet); + } + + public List selectListT(QuerySelect querySelect, Class clazz) { + String queryString = querySelect.toString(); + + List listValue = querySelect.listValueForBind(); + + ResultSet resultSet = executeQuery(queryString, listValue); + + return ResultSetUtil.getListT(resultSet, clazz); + } + + public T selectOneT(QuerySelect querySelect, Class clazz) { + String queryString = querySelect.toString(); + + List listValue = querySelect.listValueForBind(); + + ResultSet resultSet = executeQuery(queryString, listValue); + + return ResultSetUtil.getFirstRowT(resultSet, clazz); + } + + + + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/JoinBase.java b/java-common-basic/src/main/java/common/basic/orm/JoinBase.java new file mode 100644 index 0000000..aef754e --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/JoinBase.java @@ -0,0 +1,48 @@ +package common.basic.orm; + +import common.basic.orm.condition.FieldFieldCompare; + +public class JoinBase { + public enum JoinType { + InnerJoin { + @Override + public String toQuery() { + return " INNER JOIN"; + } + }, + LeftJoin { + @Override + public String toQuery() { + return " LEFT JOIN"; + } + }, + RightJoin { + @Override + public String toQuery() { + return " RIGHT JOIN"; + } + }, + FullOuterJoin { + @Override + public String toQuery() { + return " OUTER JOIN"; + } + },; + + public abstract String toQuery(); + } + + public JoinType joinType; + public String table; + public FieldFieldCompare fieldFieldCompare; + + public JoinBase(String table) { + this.table = table; + } + + public String toString() { + return " " + table + " ON" + fieldFieldCompare.toString(); + } + + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/ModelBase.java b/java-common-basic/src/main/java/common/basic/orm/ModelBase.java new file mode 100644 index 0000000..6597111 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/ModelBase.java @@ -0,0 +1,11 @@ +package common.basic.orm; + +public class ModelBase { + public QuerySelect querySelect() { + return new QuerySelect(this.getClass().getSimpleName()); + } + + public QueryUpdate queryUpdate() { + return new QueryUpdate(this.getClass().getSimpleName()); + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/QuerySelect.java b/java-common-basic/src/main/java/common/basic/orm/QuerySelect.java new file mode 100644 index 0000000..cc9aec3 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/QuerySelect.java @@ -0,0 +1,153 @@ +package common.basic.orm; + +import common.basic.orm.condition.CompareOperator; +import common.basic.orm.condition.FieldFieldCompare; +import common.basic.utils.StringUtil; + +import java.util.ArrayList; +import java.util.List; + +public class QuerySelect { + + public static class Join extends JoinBase { + + private final QuerySelect querySelect; + + public Join(QuerySelect querySelect, String table) { + super(table); + this.querySelect = querySelect; + } + + public QuerySelect endJoin() { + return querySelect; + } + + public Join join(String table) { + return this.querySelect.join(table); + } + + + public Join on(String leftField, String rightField) { + fieldFieldCompare = new FieldFieldCompare(leftField, CompareOperator.Equal, rightField); + return this; + } + } + + + String table; + List listJoin = new ArrayList(); + WhereBase where; + List listOrder = new ArrayList(); + long offset = 0; + long limit = -1; + + public QuerySelect(String table) { + this.table = table; + this.where = new WhereBase(this); + } + + public Join join(String table) { + Join join = new Join(this, table); + join.joinType = JoinBase.JoinType.InnerJoin; + listJoin.add(join); + return join; + } + + public WhereBase where() { + return where; + } + + public QuerySelect order(String field, boolean asc) { + Order order = new Order(); + order.field = field; + order.ascending = asc; + + listOrder.add(order); + + return this; + } + + + public List listValueForBind() { + ArrayList listValue = new ArrayList(); + where.bindingValueAddTo(listValue); + return listValue; + } + + public static class Order { + public String field; + public boolean ascending; + + @Override + public String toString() { + return String.format(" %s %s", field, ascending ? "ASC" : "DESC"); + } + } + + public boolean hasJoin() { + return 0 < listJoin.size(); + } + + public boolean hasWhere() { + return where.hasValue(); + } + + public boolean hasOrder() { + return 0 < listOrder.size(); + } + + + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("SELECT * FROM "); + sb.append(table); + + if (hasJoin()) { + for (JoinBase join : listJoin) { + sb.append(join.joinType.toQuery()); + sb.append(join.toString()); + } + } + + if (hasWhere()) { + sb.append(" WHERE"); + sb.append(where.toString()); + } + + if (hasOrder()) { + sb.append(" ORDER BY"); + sb.append(StringUtil.joinWithToString(",", listOrder)); + } + + if (0 < offset && 0 <= limit) { + sb.append(" LIMIT "); + sb.append(offset); + sb.append(","); + sb.append(limit); + } else if (0 <= limit) { + sb.append(" LIMIT "); + sb.append(limit); + } + + return sb.toString(); + } + + + public QuerySelect limit(int offset, int limit) { + this.offset = offset; + this.limit = limit; + + return this; + } + + public QuerySelect limit(int limit) { + return limit(0, limit); + } + + public QuerySelect traceBindValues() { + List listValue = listValueForBind(); + System.out.println("[" + StringUtil.joinWithToString("], [", listValue) + "]"); + return this; + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/QueryUpdate.java b/java-common-basic/src/main/java/common/basic/orm/QueryUpdate.java new file mode 100644 index 0000000..6c7de5f --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/QueryUpdate.java @@ -0,0 +1,86 @@ +package common.basic.orm; + +import common.basic.utils.StringUtil; + +import java.util.ArrayList; +import java.util.List; + +public class QueryUpdate { + + public static class FieldUpdate { + public String field; + public Object value; + + public FieldUpdate(String field, String value) { + this.field = field; + this.value = value; + } + + @Override + public String toString() { + return String.format("%s=?", field); + } + + public void bindValueAddTo(ArrayList listValue) { + listValue.add(value); + } + } + + private final String table; + + private final List listField = new ArrayList(); + + WhereBase whereBase; + + public QueryUpdate(String table) { + this.table = table; + this.whereBase = new WhereBase(this); + } + + public List listValueForBind() { + ArrayList listValue = new ArrayList(); + + for (FieldUpdate fieldUpdate : listField) + fieldUpdate.bindValueAddTo(listValue); + + whereBase.bindingValueAddTo(listValue); + + return listValue; + } + + public boolean hasWhere() { + return whereBase.hasValue(); + } + + public String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("UPDATE "); + sb.append(table); + + sb.append(" SET "); + sb.append(StringUtil.joinWithToString(",", listField)); + + if (hasWhere()) { + sb.append(" WHERE "); + sb.append(whereBase.toString()); + } + + return sb.toString(); + } + + public WhereBase where() { + return whereBase; + } + + public QueryUpdate set(String field, String value) { + listField.add(new FieldUpdate(field, value)); + return this; + } + + public QueryUpdate traceBindValues() { + List listValue = listValueForBind(); + System.out.println("[" + StringUtil.joinWithToString("], [", listValue) + "]"); + return this; + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/WhereBase.java b/java-common-basic/src/main/java/common/basic/orm/WhereBase.java new file mode 100644 index 0000000..6a06dc6 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/WhereBase.java @@ -0,0 +1,83 @@ +package common.basic.orm; + +import common.basic.orm.condition.CompareOperator; +import common.basic.orm.condition.FieldValueCompare; +import common.basic.orm.condition.ICondition; +import common.basic.orm.condition.IFieldValueCompare; +import common.basic.utils.StringUtil; + +import java.util.ArrayList; +import java.util.List; + +public class WhereBase { + + public List listCondition = new ArrayList(); + + @Override + public String toString() { + + if (null == listCondition || 0 == listCondition.size()) + return ""; + + return " (" + StringUtil.joinWithToString("", listCondition) + ")"; + } + + public void bindingValueAddTo(List listValue) { + for (ICondition condition : listCondition) { + if (condition instanceof IFieldValueCompare) + ((IFieldValueCompare)condition).bindingValueAddTo(listValue); + } + } + + public boolean hasValue() { + return null != listCondition && 0 < listCondition.size(); + } + + private final T queryBase; + + public WhereBase(T queryBase) { + this.queryBase = queryBase; + } + + public T endWhere() { + return queryBase; + } + + private WhereBase and(IFieldValueCompare fieldValueCompare) { + + if (0 < listCondition.size()) + listCondition.add(ChainCondition.And); + + listCondition.add(fieldValueCompare); + return this; + } + + public WhereBase eq(String field, Object value) { + return and(new FieldValueCompare(field, CompareOperator.Equal, value)); + } + + public WhereBase ne(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.NotEqual, value )); + } + + public WhereBase lt(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.LessThen, value )); + } + + public WhereBase le(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.LessEqual, value )); + } + + public WhereBase gt(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.GraterThen, value )); + } + + public WhereBase ge(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.GraterEqual, value )); + } + + public WhereBase like(String field, String value) { + return and(new FieldValueCompare(field, CompareOperator.Like, "%" + value + "%")); + } + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/CompareOperator.java b/java-common-basic/src/main/java/common/basic/orm/condition/CompareOperator.java new file mode 100644 index 0000000..060f484 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/CompareOperator.java @@ -0,0 +1,88 @@ +package common.basic.orm.condition; + +import common.basic.utils.StringUtil; + +import java.util.List; + +public enum CompareOperator { + Equal { + @Override + public String toString(String field, Object value) { + return String.format(" %s = %s", field, value); + } + }, + NotEqual { + @Override + public String toString(String field, Object value) { + return String.format(" %s <> %s", field, value); + } + }, + LessThen { + @Override + public String toString(String field, Object value) { + return String.format(" %s < %s", field, value); + } + }, + LessEqual { + @Override + public String toString(String field, Object value) { + return String.format(" %s <= %s", field, value); + } + }, + GraterThen { + @Override + public String toString(String field, Object value) { + return String.format(" %s > %s", field, value); + } + }, + GraterEqual { + @Override + public String toString(String field, Object value) { + return String.format(" %s >= %s", field, value); + } + }, + Like { + @Override + public String toString(String field, Object value) { + return String.format(" %s LIKE %s", field, value); + } + }, + LikeLeft { + @Override + public String toString(String field, Object value) { + return String.format(" %s LIKE %s", field, value); + } + }, + LikeRight { + @Override + public String toString(String field, Object value) { + return String.format(" %s LIKE %s", field, value); + } + }, + In { + @Override + public String toString(String field, Object value) { + StringBuilder sb = new StringBuilder(); + sb.append(field); + sb.append(" IN ("); + + if (value instanceof List) { + List list = (List) value; + sb.append(StringUtil.repeat("?,", list.size())); + sb.deleteCharAt(sb.length() - 1); + } else { + sb.append(value.toString()); + } + + sb.append(")"); + + return sb.toString(); + } + }; + + public abstract String toString(String field, Object value); + + public String toString(String field) { + return toString(field, "?"); + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/FieldFieldCompare.java b/java-common-basic/src/main/java/common/basic/orm/condition/FieldFieldCompare.java new file mode 100644 index 0000000..a98ef3c --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/FieldFieldCompare.java @@ -0,0 +1,19 @@ +package common.basic.orm.condition; + +public class FieldFieldCompare { + + public String leftField; + public String rightField; + public CompareOperator compareOperator; + + public FieldFieldCompare(String leftField, CompareOperator compareOperator, String rightField) { + this.leftField = leftField; + this.compareOperator = compareOperator; + this.rightField = rightField; + } + + public String toString() { + return compareOperator.toString(leftField, rightField); + } + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/FieldValueCompare.java b/java-common-basic/src/main/java/common/basic/orm/condition/FieldValueCompare.java new file mode 100644 index 0000000..078681e --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/FieldValueCompare.java @@ -0,0 +1,25 @@ +package common.basic.orm.condition; + +import java.util.List; + +public class FieldValueCompare implements IFieldValueCompare { + + public String field; + public CompareOperator compareOperator; + public Object value; + + public FieldValueCompare(String field, CompareOperator compareOperator, Object value) { + this.field = field; + this.compareOperator = compareOperator; + this.value = value; + } + + public String toString() { + return compareOperator.toString(field); + } + + @Override + public void bindingValueAddTo(List listValue) { + listValue.add(value); + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/IChainCondition.java b/java-common-basic/src/main/java/common/basic/orm/condition/IChainCondition.java new file mode 100644 index 0000000..7093ddb --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/IChainCondition.java @@ -0,0 +1,5 @@ +package common.basic.orm.condition; + +public interface IChainCondition extends ICondition { + LogicalOperator logicalOperator(); +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/ICondition.java b/java-common-basic/src/main/java/common/basic/orm/condition/ICondition.java new file mode 100644 index 0000000..6106cdd --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/ICondition.java @@ -0,0 +1,4 @@ +package common.basic.orm.condition; + +public interface ICondition { +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/IFieldValueCompare.java b/java-common-basic/src/main/java/common/basic/orm/condition/IFieldValueCompare.java new file mode 100644 index 0000000..91d9823 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/IFieldValueCompare.java @@ -0,0 +1,7 @@ +package common.basic.orm.condition; + +import java.util.List; + +public interface IFieldValueCompare extends ICondition { + void bindingValueAddTo(List listValue); +} diff --git a/java-common-basic/src/main/java/common/basic/orm/condition/LogicalOperator.java b/java-common-basic/src/main/java/common/basic/orm/condition/LogicalOperator.java new file mode 100644 index 0000000..afe8155 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/condition/LogicalOperator.java @@ -0,0 +1,17 @@ +package common.basic.orm.condition; + +public enum LogicalOperator { + And { + @Override + public String toString() { + return " AND"; + } + }, + Or { + @Override + public String toString() { + return " OR"; + } + },; + +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java b/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java index 88340d4..93ba132 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java @@ -2,6 +2,7 @@ import common.basic.logs.Logger; +import java.lang.reflect.Field; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; @@ -37,28 +38,94 @@ public static Map getMap(ResultSet resultSet) { public static List> getListMap(ResultSet resultSet) { - List> listMap = new ArrayList>(); - try { - while(resultSet.next()) - { - HashMap hashMap = new HashMap(); - - ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); - int iColumnCount = resultSetMetaData.getColumnCount(); - - for (int i = 1; i <= iColumnCount; i++) { - String columnName = resultSetMetaData.getColumnLabel(i); - Object value = resultSet.getObject(i); - hashMap.put(columnName, value); - } - - listMap.add(hashMap); - } - } catch (SQLException e) { - Logger.e(e); - } - return listMap; - } + List> listMap = new ArrayList>(); + try { + while(resultSet.next()) + { + HashMap hashMap = new HashMap(); + + ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); + int iColumnCount = resultSetMetaData.getColumnCount(); + + for (int i = 1; i <= iColumnCount; i++) { + String columnName = resultSetMetaData.getColumnLabel(i); + Object value = resultSet.getObject(i); + hashMap.put(columnName, value); + } + + listMap.add(hashMap); + } + } catch (SQLException e) { + Logger.e(e); + } + return listMap; + } + + public static List getListT(ResultSet resultSet, Class clazz) { + List listT = new ArrayList(); + try { + Map mapFieldDeclaredRecursive = ReflectionUtil.getMapFieldDeclaredRecursive(clazz); + + while(resultSet.next()) + { + T t = clazz.newInstance(); + + ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); + int iColumnCount = resultSetMetaData.getColumnCount(); + + for (int i = 1; i <= iColumnCount; i++) { + String columnName = resultSetMetaData.getColumnLabel(i); + Object value = resultSet.getObject(i); + + Field field = mapFieldDeclaredRecursive.get(columnName); + if (null != field) { + ReflectionUtil.setFieldValue(t, field, value, null); + } + } + listT.add(t); + } + } catch (SQLException e) { + Logger.e(e); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return listT; + } + + public static T getFirstRowT(ResultSet resultSet, Class clazz) { + try { + + if (resultSet.next()) + { + Map mapFieldDeclaredRecursive = ReflectionUtil.getMapFieldDeclaredRecursive(clazz); + T t = clazz.newInstance(); + ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); + int iColumnCount = resultSetMetaData.getColumnCount(); + + for (int i = 1; i <= iColumnCount; i++) { + String columnName = resultSetMetaData.getColumnLabel(i); + Object value = resultSet.getObject(i); + + Field field = mapFieldDeclaredRecursive.get(columnName); + if (null != field) { + ReflectionUtil.setFieldValue(t, field, value, null); + } + } + return t; + } + } catch (SQLException e) { + Logger.e(e); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return null; + } + + public static Map> getMapMap(ResultSet resultSet, String keyFieldName) { Map> mapMap = new HashMap>(); diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 8932f2f..e5e0e65 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -152,6 +152,23 @@ public static String join(String splitter, List list) { return sb.toString(); } + public static String joinWithToString(String splitter, List list) { + StringBuilder sb = new StringBuilder(); + + int size = list.size() ; + for (int i = 0; i < size - 1; i++) { + sb.append(list.get(i).toString()); + sb.append(splitter); + } + + if(size - 1 >= 0) + { + sb.append(list.get(size - 1).toString()); + } + + return sb.toString(); + } + public static String toString(Object o) { if(o == null) diff --git a/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java b/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java new file mode 100644 index 0000000..093c286 --- /dev/null +++ b/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java @@ -0,0 +1,51 @@ +package common.basic.orm; + +import org.junit.Assert; +import org.junit.Test; + +public class ModelBaseTest extends Assert { + + public static class TestModel extends ModelBase { + public String s; + public int i; + } + + @Test + public void testQuerySelect() { + TestModel testModel = new TestModel(); + + assertEquals("SELECT * FROM TestModel", testModel.querySelect().toString()); + + assertEquals("SELECT * FROM TestModel WHERE ( Field1 = ?)" + , testModel.querySelect().where().eq("Field1", "Value1").endWhere().toString()); + + QuerySelect querySelect = testModel.querySelect() + .join("Table2").on("Table1.Field1", "Table2.Field2") + .join("Table3").on("Table2.field2", "Table3.Field3") + .endJoin() + .where() + .eq("Field1", "Value1") + .eq("Field2", "Value2") + .like("Field1", "likeValue1") + .endWhere() + .order("Field1", true) + .limit(5); + querySelect.traceBindValues(); + + assertEquals("SELECT * FROM TestModel INNER JOIN Table2 ON Table1.Field1 = Table2.Field2 INNER JOIN Table3 ON Table2.field2 = Table3.Field3 WHERE ( Field1 = ? AND Field2 = ? AND Field1 LIKE ?) ORDER BY Field1 ASC LIMIT 5" + , querySelect .toString() + ); + + + QueryUpdate queryUpdate = testModel.queryUpdate() + .set("Field2", "Value2") + .where().eq("Field1", "Value1").endWhere(); + + queryUpdate.traceBindValues(); + + assertEquals("UPDATE TestModel SET Field2=? WHERE ( Field1 = ?)" + , queryUpdate.toString() + ); + + } +} From 3ffd1f361df81cdfb88940887af8239873fbbd5d Mon Sep 17 00:00:00 2001 From: aha00a Date: Tue, 27 Oct 2015 14:15:40 +0900 Subject: [PATCH 19/44] block logging --- .../facades/jsons/jackson/JacksonUtil.java | 43 +++++++++++++------ 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java b/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java index f039942..c28de35 100755 --- a/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java +++ b/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java @@ -18,6 +18,7 @@ import java.util.Map; public class JacksonUtil { + final static boolean catchLog = false; private static ObjectMapper createObjectMapper() { ObjectMapper objectMapper = new ObjectMapper(); @@ -37,7 +38,8 @@ public static String stringifyCatches(Object o) { return stringify(o); } catch (JsonProcessingException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -73,7 +75,8 @@ public static T parseCatches(String json, Class clazz) { return fromJson(json, clazz); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -83,7 +86,8 @@ public static T fromJsonCatches(JsonNode jsonNode, Class clazz) { return fromJson(jsonNode, clazz); } catch (JsonProcessingException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -92,7 +96,8 @@ public static T parseCatches(InputStream json, Class clazz) { try { return fromJson(json, clazz); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -102,7 +107,8 @@ public static T parseCatches(String json, TypeWrapperT typeWrapperT) { return fromJson(json, typeWrapperT); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -111,7 +117,8 @@ public static T parseCatches(InputStream json, TypeWrapperT typeWrapperT) try { return fromJson(json, typeWrapperT); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -134,7 +141,8 @@ public static JsonNode toJsonNodeCatches(String json) { return toJsonNode(json); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -144,7 +152,8 @@ public static JsonNode toJsonNodeCatches(InputStream inputStream) { return toJsonNode(inputStream); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -172,7 +181,8 @@ public static List toListCatches(String json) { return toList(json); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -183,7 +193,8 @@ public static List parseListCatches(String json, Class clazz) { return toList(json, clazz); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -193,9 +204,11 @@ public static List parseListCatches(InputStream json, Class clazz) { return toList(json, clazz); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; - } } + } + } public static Map toMap(String json) throws IOException { @@ -208,7 +221,8 @@ public static Map parseCatches(String json) { return toMap(json); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } @@ -219,7 +233,8 @@ public static List> parseListCatches(String json) { return toListMap(json); } catch (IOException e) { - Logger.e(e); + if(catchLog) + Logger.e(e); return null; } } From 1b003cb17d53da88e23cc46a80ebc1e170d99306 Mon Sep 17 00:00:00 2001 From: Kang Il Goo Date: Tue, 27 Oct 2015 15:58:21 +0900 Subject: [PATCH 20/44] modify Library-Version --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 4e768d1..ef5849f 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20150701.160900 +Library-Version: 1.0.20151027.155400 From 79fe04645a8c52ecc1bf0092c5f2e7148e13e810 Mon Sep 17 00:00:00 2001 From: Kang Il Goo Date: Tue, 27 Oct 2015 20:47:56 +0900 Subject: [PATCH 21/44] add method removeTail(), removeHead() in StringUtil.java add method getInt() in MapUtil.java add method convertStringMapToJson() in JsonUtil.java --- .../common/basic/facades/jsons/JsonUtil.java | 11 ++++++++ .../main/java/common/basic/utils/MapUtil.java | 15 +++++++++++ .../java/common/basic/utils/StringUtil.java | 27 +++++++++++++++++-- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/facades/jsons/JsonUtil.java b/java-common-basic/src/main/java/common/basic/facades/jsons/JsonUtil.java index 708dc33..1d826d1 100644 --- a/java-common-basic/src/main/java/common/basic/facades/jsons/JsonUtil.java +++ b/java-common-basic/src/main/java/common/basic/facades/jsons/JsonUtil.java @@ -1,5 +1,6 @@ package common.basic.facades.jsons; +import com.fasterxml.jackson.databind.ObjectMapper; import common.basic.generics.TypeWrapperT; import java.io.InputStream; @@ -55,4 +56,14 @@ public static List parseList(InputStream inputStream, Class clazz) { public static List> parseList(String json) { return jsonEngine.parseList(json); } + + public static String convertStringMapToJson(Object obj) { + try { + return new ObjectMapper().writeValueAsString(obj); + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + } diff --git a/java-common-basic/src/main/java/common/basic/utils/MapUtil.java b/java-common-basic/src/main/java/common/basic/utils/MapUtil.java index 4947cba..8c7b78a 100644 --- a/java-common-basic/src/main/java/common/basic/utils/MapUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/MapUtil.java @@ -129,4 +129,19 @@ public static long getLong(Map map, String key, long defaultValu public static long getLong(Map map, String key) { return getLong(map, key, 0L); } + + public static int getInt(Map map, String key) { + return getInt(map, key, 0); + } + + public static int getInt(Map map, String key, int defaultValue) { + + if (!map.containsKey(key)) + return defaultValue; + + Object value = map.get(key); + + return IntUtil.parseInt(value.toString(), defaultValue); + } + } diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 8932f2f..21f7916 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -186,8 +186,8 @@ public static String cutRight(String s, int length) { public static int getSumIntString(String... arrayObject) { int sum = 0; - for (int i = 0; i < arrayObject.length; ++i) { - sum += IntUtil.parseInt(arrayObject[i], 0); + for (String anArrayObject : arrayObject) { + sum += IntUtil.parseInt(anArrayObject, 0); } return sum; } @@ -199,4 +199,27 @@ public static String removeButNumber(String value) { return value.replaceAll("\\D", ""); } + public static String removeTail(String str, char symbol) { + + if (isNullOrEmpty(str)) + return ""; + + if (str.charAt(str.length() - 1) == symbol) + return str.substring(0, str.length() - 1); + + return str; + } + + public static String removeHead(String path, char symbol) { + + if (isNullOrEmpty(path)) + return ""; + + if (path.charAt(0) == symbol) + return path.substring(1); + + return path; + } + + } From 4653273e16978272727cea88fb34a58e2554f215 Mon Sep 17 00:00:00 2001 From: Kang Il Goo Date: Tue, 27 Oct 2015 21:09:32 +0900 Subject: [PATCH 22/44] modify method removeTail(), removeHead() in StringUtil.java add test code --- .../java/common/basic/utils/StringUtil.java | 20 +++++++++++-------- .../common/basic/utils/MapUtilTest.groovy | 14 +++++++++++++ .../basic/facades/jsons/JsonUtilTest.java | 8 ++++++++ .../common/basic/utils/StringUtilTest.java | 14 +++++++++++++ 4 files changed, 48 insertions(+), 8 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 21f7916..5cacb83 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -199,15 +199,17 @@ public static String removeButNumber(String value) { return value.replaceAll("\\D", ""); } - public static String removeTail(String str, char symbol) { + public static String removeTail(String path, char symbol) { - if (isNullOrEmpty(str)) + if (isNullOrEmpty(path)) return ""; - if (str.charAt(str.length() - 1) == symbol) - return str.substring(0, str.length() - 1); + String trimPath = path.trim(); + + if (trimPath.charAt(trimPath.length() - 1) == symbol) + return trimPath.substring(0, trimPath.length() - 1); - return str; + return trimPath; } public static String removeHead(String path, char symbol) { @@ -215,10 +217,12 @@ public static String removeHead(String path, char symbol) { if (isNullOrEmpty(path)) return ""; - if (path.charAt(0) == symbol) - return path.substring(1); + String trimPath = path.trim(); + + if (trimPath.charAt(0) == symbol) + return trimPath.substring(1); - return path; + return trimPath; } diff --git a/java-common-basic/src/test/groovy/common/basic/utils/MapUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/MapUtilTest.groovy index 53bb7e1..503d1e9 100644 --- a/java-common-basic/src/test/groovy/common/basic/utils/MapUtilTest.groovy +++ b/java-common-basic/src/test/groovy/common/basic/utils/MapUtilTest.groovy @@ -63,6 +63,20 @@ class MapUtilTest extends Specification { "bb" == MapUtil.getString(map, "intValue", "bb") } + def "getInt"() { + + def map = [ + "intValue": 1 + , "stringValue":"value" + ]; + + expect: + 0 == MapUtil.getInt(map, "stringValue") + 1 == MapUtil.getInt(map, "intValue") + 2 == MapUtil.getInt(map, "stringValue1", 2) + 1 == MapUtil.getInt(map, "intValue", 3) + } + def ""(){ def map = new MapBuilderT() .and("a", "a") diff --git a/java-common-basic/src/test/java/common/basic/facades/jsons/JsonUtilTest.java b/java-common-basic/src/test/java/common/basic/facades/jsons/JsonUtilTest.java index d722b5d..db246b5 100644 --- a/java-common-basic/src/test/java/common/basic/facades/jsons/JsonUtilTest.java +++ b/java-common-basic/src/test/java/common/basic/facades/jsons/JsonUtilTest.java @@ -1,6 +1,7 @@ package common.basic.facades.jsons; import common.basic.geometiries.Point; +import common.basic.utils.HashMapStringObject; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -48,4 +49,11 @@ public void testParseList() throws Exception { assertEquals(1, list.get(0).x); assertEquals(10, list.get(0).y); } + + @Test + public void testConvertStringMapToJson() { + assertEquals("{\"test1\":\"1\",\"test2\":\"2\"}", JsonUtil.convertStringMapToJson(new HashMapStringObject().and("test1","1").and("test2", "2"))); + } + + } diff --git a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java index 2f133bc..adb80dc 100755 --- a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java +++ b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java @@ -177,4 +177,18 @@ public void testGetSumIntString(){ assertEquals(0, StringUtil.getSumIntString("0", "1", "-1")); } + @Test + public void testRemoveTail(){ + assertEquals("/path/test", StringUtil.removeTail("/path/test/", '/')); + assertEquals("/path/test", StringUtil.removeTail("/path/test", '/')); + assertEquals("/path/test", StringUtil.removeTail("/path/test/ ", '/')); + } + + @Test + public void testRemoveHead(){ + assertEquals("path/test/", StringUtil.removeHead("/path/test/", '/')); + assertEquals("path/test/", StringUtil.removeHead(" /path/test/", '/')); + assertEquals("path/test/", StringUtil.removeHead("path/test/", '/')); + } + } From a458a3eddf445ad236646f4f02c873cb56202030 Mon Sep 17 00:00:00 2001 From: Kang Il Goo Date: Thu, 29 Oct 2015 13:30:02 +0900 Subject: [PATCH 23/44] add method isNumeric in StringUtil.java add test code --- .../main/java/common/basic/utils/StringUtil.java | 3 +++ .../java/common/basic/utils/StringUtilTest.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 5cacb83..9d2a6b9 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -225,5 +225,8 @@ public static String removeHead(String path, char symbol) { return trimPath; } + public static boolean isNumeric(String s) { + return s.matches("[-+]?\\d*\\.?\\d+"); + } } diff --git a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java index adb80dc..f11d108 100755 --- a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java +++ b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java @@ -191,4 +191,19 @@ public void testRemoveHead(){ assertEquals("path/test/", StringUtil.removeHead("path/test/", '/')); } + + @Test + public void testIsNumeric() throws Exception { + + assertTrue(StringUtil.isNumeric("123")); /* true */ + assertTrue(StringUtil.isNumeric("123.45")); /* true */ + assertFalse(StringUtil.isNumeric("$123")); /* false */ + assertFalse(StringUtil.isNumeric("123x")); /* false */ + assertFalse(StringUtil.isNumeric("123x45")); /* false */ + assertFalse(StringUtil.isNumeric("123x.45")); /* false */ + assertFalse(StringUtil.isNumeric("123.x45")); /* false */ + assertTrue(StringUtil.isNumeric("-123.45")); /* true */ + assertTrue(StringUtil.isNumeric("+123.45")); /* true */ + } + } From 4628611c09b34b59e6cad7aa3991cbfea3ed0e08 Mon Sep 17 00:00:00 2001 From: silsol Date: Sat, 14 Nov 2015 17:54:37 +0900 Subject: [PATCH 24/44] ListUtil.count add ReflectionUtil.fromMapStringStringByClass --- .../main/java/common/basic/orm/QueryDDL.java | 15 +++++ .../basic/orm/annotation/AutoIncrement.java | 12 ++++ .../basic/orm/annotation/PrimaryKey.java | 12 ++++ .../java/common/basic/utils/ListUtil.java | 12 ++++ .../common/basic/utils/ReflectionUtil.java | 57 +++++++++++++++++++ .../java/common/basic/orm/ModelBaseTest.java | 6 +- 6 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 java-common-basic/src/main/java/common/basic/orm/QueryDDL.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/annotation/AutoIncrement.java create mode 100644 java-common-basic/src/main/java/common/basic/orm/annotation/PrimaryKey.java diff --git a/java-common-basic/src/main/java/common/basic/orm/QueryDDL.java b/java-common-basic/src/main/java/common/basic/orm/QueryDDL.java new file mode 100644 index 0000000..bcdf9ea --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/QueryDDL.java @@ -0,0 +1,15 @@ +package common.basic.orm; + +public class QueryDDL { + + public void loadFromDb() { + + } + + public String queryCreateTable() { + + Class tClass; + + return ""; + } +} diff --git a/java-common-basic/src/main/java/common/basic/orm/annotation/AutoIncrement.java b/java-common-basic/src/main/java/common/basic/orm/annotation/AutoIncrement.java new file mode 100644 index 0000000..0395999 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/annotation/AutoIncrement.java @@ -0,0 +1,12 @@ +package common.basic.orm.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface AutoIncrement { + +} diff --git a/java-common-basic/src/main/java/common/basic/orm/annotation/PrimaryKey.java b/java-common-basic/src/main/java/common/basic/orm/annotation/PrimaryKey.java new file mode 100644 index 0000000..9ca3832 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/orm/annotation/PrimaryKey.java @@ -0,0 +1,12 @@ +package common.basic.orm.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface PrimaryKey { + +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 0202cf7..460bf63 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -200,6 +200,18 @@ public static List findAll(List list, IPredicator predicator) { return listResult; } + + public static int count(List list, IPredicator predicator) { + int count = 0; + + for (T t : list) { + if(predicator.predicate(t)) + ++count; + } + + return count; + } + public static List transform(Collection list, ICallbackTransform callbackTransform) { List listOut = new ArrayList(list.size()); for (TIn in : list) { diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index ed4f1fc..e55d389 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -251,6 +251,21 @@ public static List fromListMapByClass(Class claz return list; } + public static List fromListMapStringStringByClass(Class clazz, List> listMap) { + return fromListMapStringStringByClass(clazz, listMap, null); + } + + public static List fromListMapStringStringByClass(Class clazz, List> listMap, Class annotationClass) { + if(listMap == null) + return null; + + List list = new ArrayList(listMap.size()); + for (Map map : listMap) + list.add(fromMapStringStringByClass(clazz, map, annotationClass)); + + return list; + } + public static T fromMap(Class clazz, Map map) { return fromMap(clazz, map, null); @@ -335,6 +350,48 @@ public static T fromMapByClass(Class clazz, Map T fromMapStringStringByClass(Class clazz, Map map) { + return fromMapStringStringByClass(clazz, map, null); + } + + public static T fromMapStringStringByClass(Class clazz, Map map, Class annotationClass) { + final T t; + try { + t = clazz.getConstructor(new Class[0]).newInstance(); + + List listFieldDeclaredRecursive = getListFieldDeclaredRecursive(clazz); + + for (Field field : listFieldDeclaredRecursive) { + String fieldName = field.getName(); + + String value = map.get(fieldName); + if (null == value) + continue; + + if(Modifier.isTransient(field.getModifiers())) + continue; + + setFieldValue(t, field, value, annotationClass); + } + + return t; + } + catch (InstantiationException e) { + Logger.e(e); + } + catch (IllegalAccessException e) { + Logger.e(e); + } + catch (InvocationTargetException e) { + Logger.e(e); + } + catch (NoSuchMethodException e) { + Logger.e(e); + } + + return null; + } + public static Map toMap(T t) { try { diff --git a/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java b/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java index 093c286..be30576 100644 --- a/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java +++ b/java-common-basic/src/test/java/common/basic/orm/ModelBaseTest.java @@ -1,13 +1,16 @@ package common.basic.orm; +import common.basic.orm.annotation.AutoIncrement; import org.junit.Assert; import org.junit.Test; public class ModelBaseTest extends Assert { public static class TestModel extends ModelBase { - public String s; + @AutoIncrement public int i; + + public String s; } @Test @@ -30,6 +33,7 @@ public void testQuerySelect() { .endWhere() .order("Field1", true) .limit(5); + querySelect.traceBindValues(); assertEquals("SELECT * FROM TestModel INNER JOIN Table2 ON Table1.Field1 = Table2.Field2 INNER JOIN Table3 ON Table2.field2 = Table3.Field3 WHERE ( Field1 = ? AND Field2 = ? AND Field1 LIKE ?) ORDER BY Field1 ASC LIMIT 5" From 6ca74446d4514322486059f25bf63593ebf361bd Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 30 Nov 2015 13:55:13 +0900 Subject: [PATCH 25/44] InternationalOneway Reserve add --- java-common-basic/src/main/java/common/basic/utils/ListUtil.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 460bf63..c66c082 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -326,7 +326,6 @@ public static List sort(List list) { public static boolean isNullOrEmpty(List list) { return list == null || list.isEmpty(); - } public static void swap(List list, int index1, int index2) { From 6510e796b0b7367d9e2b6d93aae120b96a0bfbe3 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 7 Dec 2015 00:03:36 +0900 Subject: [PATCH 26/44] ListUtil.sum add --- .../main/java/common/basic/interfaces/ICallbackTF.java | 5 +++++ .../src/main/java/common/basic/utils/ListUtil.java | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100755 java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java new file mode 100755 index 0000000..dc04395 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java @@ -0,0 +1,5 @@ +package common.basic.interfaces; + +public interface ICallbackTF { + F getValue(T t); +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index c66c082..9cdc8e8 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -1,6 +1,7 @@ package common.basic.utils; import common.basic.interfaces.ICallbackListToMap; +import common.basic.interfaces.ICallbackTF; import common.basic.interfaces.ICallbackTransform; import common.basic.interfaces.IPredicator; import common.basic.logs.Logger; @@ -354,4 +355,11 @@ public static List combine(List top, List bottom) { return concatenate(top, bottom); } + public static int sum(List list, ICallbackTF callback) { + int sum = 0; + for (T t : list) { + sum += callback.getValue(t); + } + return sum; + } } From 53fa2088318a2c9fb38e71a0fd3c46e46813726f Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 7 Dec 2015 13:05:47 +0900 Subject: [PATCH 27/44] ICallbackInt Add --- .../src/main/java/common/basic/interfaces/ICallbackInt.java | 5 +++++ .../src/main/java/common/basic/utils/ListUtil.java | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100755 java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java new file mode 100755 index 0000000..96c5628 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java @@ -0,0 +1,5 @@ +package common.basic.interfaces; + +public interface ICallbackInt { + int getValue(T t); +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 9cdc8e8..8da5e14 100755 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -1,7 +1,7 @@ package common.basic.utils; +import common.basic.interfaces.ICallbackInt; import common.basic.interfaces.ICallbackListToMap; -import common.basic.interfaces.ICallbackTF; import common.basic.interfaces.ICallbackTransform; import common.basic.interfaces.IPredicator; import common.basic.logs.Logger; @@ -355,7 +355,7 @@ public static List combine(List top, List bottom) { return concatenate(top, bottom); } - public static int sum(List list, ICallbackTF callback) { + public static int sum(List list, ICallbackInt callback) { int sum = 0; for (T t : list) { sum += callback.getValue(t); From 06583790567b04bc2351074566fe55271cfcf188 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 16 Dec 2015 20:32:45 +0900 Subject: [PATCH 28/44] StringUtil.equalsLimit --- .../java/common/basic/utils/StringUtil.java | 14 ++++++++++++++ .../common/basic/utils/StringUtilTest.java | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 8f09ec4..4faf238 100755 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -67,6 +67,20 @@ public static boolean equalsIgnoreCase(String s1, String s2) { return equals(s1.toLowerCase(), s2.toLowerCase()); } + public static boolean equalsLimit(String s1, String s2, int limit) { + if (null == s1 && null == s2) + return false; + + //noinspection SimplifiableIfStatement + if (null == s1 || null == s2) + return false; + + if (s1.length() < limit || s2.length() < limit) + return false; + + return s1.startsWith(s2.substring(0, limit)); + } + public static boolean startsWith(String str, String prefix) { //noinspection SimplifiableIfStatement if(isNullOrEmpty(str) || isNullOrEmpty(prefix)) { diff --git a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java index f11d108..8319eb8 100755 --- a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java +++ b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java @@ -206,4 +206,23 @@ public void testIsNumeric() throws Exception { assertTrue(StringUtil.isNumeric("+123.45")); /* true */ } + @Test + public void testEqualsLimit() { + assertFalse(StringUtil.equalsLimit(null, null, 6)); /* false */ + assertFalse(StringUtil.equalsLimit("abcdef", null, 6)); /* false */ + assertFalse(StringUtil.equalsLimit(null, "abcdef", 6)); /* false */ + + assertTrue(StringUtil.equalsLimit("abcdef", "abcdef", 5)); /* true */ + assertTrue(StringUtil.equalsLimit("abcdef", "abcdef", 6)); /* true */ + assertFalse(StringUtil.equalsLimit("abcdef", "abcdef", 7)); /* false */ + + assertTrue(StringUtil.equalsLimit("abcde", "abcdef", 4)); /* true */ + assertTrue(StringUtil.equalsLimit("abcde", "abcdef", 5)); /* true */ + assertFalse(StringUtil.equalsLimit("abcde", "abcdef", 6)); /* false */ + + assertTrue(StringUtil.equalsLimit("abcdef", "abcde", 4)); /* true */ + assertTrue(StringUtil.equalsLimit("abcdef", "abcde", 5)); /* true */ + assertFalse(StringUtil.equalsLimit("abcdef", "abcde", 6)); /* false */ + + } } From da989e20a641601e398ac91f5edee2cf79c67ca6 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 19 Jan 2016 00:35:14 +0900 Subject: [PATCH 29/44] EnumUtil.toString add --- .../src/main/java/common/basic/utils/EnumUtil.java | 8 ++++++++ 1 file changed, 8 insertions(+) mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/EnumUtil.java diff --git a/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java b/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java old mode 100755 new mode 100644 index 3166829..1d3ff8f --- a/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java @@ -43,4 +43,12 @@ public static > boolean contains(List list, E other) { return false; } + + public static > String toString(E value) { + + if (null == value) + return ""; + + return value.toString(); + } } From c204b363eec1608d6816b3064cf5eebef925d8f4 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 19 Jan 2016 00:58:00 +0900 Subject: [PATCH 30/44] Create .gitattributes --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..176a458 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto From e1df40f9923ca9c50c87900606731a4269805381 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 19 Jan 2016 14:15:50 +0900 Subject: [PATCH 31/44] EnumUtil.convertTF add --- .../src/main/java/common/basic/utils/EnumUtil.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java b/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java index 1d3ff8f..f34ab32 100644 --- a/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/EnumUtil.java @@ -51,4 +51,11 @@ public static > String toString(E value) { return value.toString(); } + + public static , F extends Enum> F convertTF(Class clazz, T t) { + if (t == null) + return null; + + return parse(clazz, t.toString()); + } } From 574e55e9c6e7fb33ded3fbc9d880179d4c7b9830 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 2 Aug 2016 18:43:30 +0900 Subject: [PATCH 32/44] . --- .travis.yml | 0 java-common-android/AndroidManifest.xml | 0 java-common-android/res/layout/activity_splash.xml | 0 .../src/common/android/enums/GravityEnum.java | 0 .../src/common/android/extensions/AdapterList.java | 0 .../extensions/FilterOutputStreamProgress.java | 0 .../android/extensions/MultipartEntityProgress.java | 0 .../common/android/facebooks/FacebookHelper.java | 0 .../common/android/facebooks/ICallbackSession.java | 0 .../android/facebooks/StatusCallbackOnce.java | 0 .../src/common/android/twitters/TwitterHelper.java | 0 .../common/android/utils/AccountManagerUtil.java | 0 .../src/common/android/utils/ActionBarUtil.java | 0 .../common/android/utils/AndroidHttpClientUtil.java | 0 .../src/common/android/utils/BitmapFactoryUtil.java | 0 .../src/common/android/utils/BitmapUtil.java | 0 .../src/common/android/utils/ColorUtil.java | 0 .../android/utils/ConnectivityManagerUtil.java | 0 .../src/common/android/utils/CursorUtil.java | 0 .../common/android/utils/DialogInterfaceUtil.java | 0 .../src/common/android/utils/DisplayUtil.java | 0 .../src/common/android/utils/HttpEntityUtil.java | 0 .../src/common/android/utils/ImageUtil.java | 0 .../android/utils/InputMethodManagerUtil.java | 0 .../android/utils/LinearLayoutLayoutParamsUtil.java | 0 .../src/common/android/utils/MotionEventUtil.java | 0 .../common/android/utils/PackageManagerUtil.java | 0 .../src/common/android/utils/PointUtil.java | 0 .../src/common/android/utils/RectUtil.java | 0 .../utils/RelativeLayoutLayoutParamsUtil.java | 0 .../src/common/android/utils/ResourceUtil.java | 0 .../android/utils/ScreenOrientationHelper.java | 0 .../src/common/android/utils/StatusBarUtil.java | 0 .../src/common/android/utils/TextViewUtil.java | 0 .../src/common/android/utils/ToastUtil.java | 0 .../src/common/android/utils/ViewGroupUtil.java | 0 .../src/common/android/utils/ViewUtil.java | 0 java-common-basic/gradlew | 0 .../src/main/java/common/basic/HelloWorld.java | 0 .../common/basic/databases/DatabaseManager.java | 0 .../main/java/common/basic/databases/Filter.java | 0 .../main/java/common/basic/databases/Operator.java | 0 .../src/main/java/common/basic/databases/Query.java | 0 .../java/common/basic/databases/QueryExecutor.java | 0 .../src/main/java/common/basic/dummy/Dummy.txt | 0 .../src/main/java/common/basic/dummy/DummyText.java | 0 .../main/java/common/basic/events/EventChange.java | 0 .../externals/google/GoogleHttpClientUtil.java | 0 .../basic/externals/jsoup/HtmlDocumentFilter.java | 0 .../common/basic/externals/jsoup/HtmlFetcher.java | 0 .../common/basic/externals/jsoup/HtmlParser.java | 0 .../basic/externals/jsoup/JsoupDocumentUtil.java | 0 .../common/basic/externals/jsoup/JsoupUtil.java | 0 .../basic/externals/twitter4j/TwitterUtil.java | 0 .../common/basic/externals/zip4j/FileAbstract.java | 0 .../common/basic/externals/zip4j/FilePlain.java | 0 .../java/common/basic/externals/zip4j/FileZip.java | 0 .../common/basic/externals/zip4j/ZipFileUtil.java | 0 .../basic/externals/zip4j/ZipParametersUtil.java | 0 .../common/basic/facades/jsons/gson/GsonUtil.java | 0 .../basic/facades/jsons/jackson/JacksonUtil.java | 0 .../java/common/basic/genModels/ConvertModels.java | 0 .../basic/genModels/GenerateSelectorXmls.java | 0 .../src/main/java/common/basic/genModels/Main.java | 0 .../main/java/common/basic/genModels/selector.xml | 0 .../basic/geometiries/LeftTopRightBottom.java | 0 .../main/java/common/basic/geometiries/Margin.java | 0 .../main/java/common/basic/geometiries/Padding.java | 0 .../main/java/common/basic/geometiries/Point.java | 0 .../main/java/common/basic/geometiries/PointD.java | 0 .../main/java/common/basic/geometiries/PointF.java | 0 .../main/java/common/basic/geometiries/Rect.java | 0 .../main/java/common/basic/geometiries/RectD.java | 0 .../main/java/common/basic/geometiries/RectF.java | 0 .../common/basic/geometiries/RectSectionLtrb.java | 0 .../main/java/common/basic/geometiries/Size.java | 0 .../main/java/common/basic/geometiries/SizeD.java | 0 .../main/java/common/basic/geometiries/SizeF.java | 0 .../java/common/basic/helper/HttpRequestHelper.java | 11 ++++++++++- .../java/common/basic/helpers/MemoryWatcher.java | 0 .../common/basic/htmlFetcher/ImageMetadata.java | 0 .../java/common/basic/htmlFetcher/MaxSelector.java | 0 .../java/common/basic/htmlFetcher/Retryable.java | 0 .../java/common/basic/interfaces/ICallback.java | 0 .../java/common/basic/interfaces/ICallbackInt.java | 0 .../common/basic/interfaces/ICallbackProgress.java | 0 .../java/common/basic/interfaces/ICallbackTF.java | 0 .../java/common/basic/interfaces/ICallbackVoid.java | 0 .../java/common/basic/interfaces/IIndexValue.java | 0 .../java/common/basic/interfaces/IPredicator.java | 0 .../basic/interfaces/IPredicatorThrowable.java | 0 .../java/common/basic/interfaces/IRunnable.java | 0 .../basic/interfaces/RunnableThrowsException.java | 0 .../main/java/common/basic/logics/MoreLogic.java | 0 .../src/main/java/common/basic/logs/ILogger.java | 0 .../src/main/java/common/basic/logs/Level.java | 0 .../src/main/java/common/basic/logs/LogUtil.java | 0 .../src/main/java/common/basic/logs/Logger.java | 0 .../java/common/basic/logs/LoggerStandardOut.java | 0 .../java/common/basic/managers/HolderResource.java | 0 .../java/common/basic/managers/HolderTempFile.java | 0 .../src/main/java/common/basic/utils/ArrayUtil.java | 0 .../src/main/java/common/basic/utils/BindUtil.java | 0 .../main/java/common/basic/utils/BooleanUtil.java | 0 .../java/common/basic/utils/BufferedImageUtil.java | 0 .../java/common/basic/utils/BufferedReaderUtil.java | 0 .../src/main/java/common/basic/utils/ByteUtil.java | 0 .../src/main/java/common/basic/utils/Cast.java | 0 .../main/java/common/basic/utils/CloseableUtil.java | 0 .../java/common/basic/utils/CollectionUtil.java | 0 .../src/main/java/common/basic/utils/CrcUtil.java | 0 .../src/main/java/common/basic/utils/DateUtil.java | 0 .../main/java/common/basic/utils/DoubleUtil.java | 0 .../main/java/common/basic/utils/EncodingUtil.java | 0 .../java/common/basic/utils/EnumerationUtil.java | 0 .../main/java/common/basic/utils/FacebookUtil.java | 0 .../src/main/java/common/basic/utils/FileUtil.java | 0 .../main/java/common/basic/utils/GraphicsUtil.java | 0 .../src/main/java/common/basic/utils/Grep.java | 0 .../common/basic/utils/HashMapStringObject.java | 0 .../common/basic/utils/HashMapStringString.java | 0 .../main/java/common/basic/utils/HumanReadable.java | 0 .../src/main/java/common/basic/utils/IntUtil.java | 0 .../src/main/java/common/basic/utils/IpUtil.java | 0 .../main/java/common/basic/utils/IterableUtil.java | 0 .../src/main/java/common/basic/utils/ListUtil.java | 0 .../src/main/java/common/basic/utils/LongUtil.java | 0 .../main/java/common/basic/utils/MapBuilderT.java | 0 .../src/main/java/common/basic/utils/MimeType.java | 0 .../src/main/java/common/basic/utils/Pair.java | 0 .../main/java/common/basic/utils/ParamBuilder.java | 0 .../src/main/java/common/basic/utils/PathUtil.java | 0 .../main/java/common/basic/utils/PathUtilNew.java | 0 .../main/java/common/basic/utils/RandomUtil.java | 0 .../common/basic/utils/RedundantEventSkipper.java | 0 .../java/common/basic/utils/ReflectionUtil.java | 0 .../main/java/common/basic/utils/RegExpUtil.java | 0 .../main/java/common/basic/utils/ResultSetUtil.java | 0 .../common/basic/utils/SimpleDateFormatUtil.java | 0 .../src/main/java/common/basic/utils/StopWatch.java | 0 .../main/java/common/basic/utils/StreamUtil.java | 0 .../main/java/common/basic/utils/StringUtil.java | 0 .../main/java/common/basic/utils/SystemUtil.java | 0 .../java/common/basic/utils/TelephoneNumber.java | 0 .../main/java/common/basic/utils/TempDirectory.java | 0 .../basic/utils/ThreadFactoryNamedPriority.java | 0 .../main/java/common/basic/utils/ThreadUtil.java | 0 .../main/java/common/basic/utils/ThrowableUtil.java | 0 .../src/main/java/common/basic/utils/URLUtil.java | 0 .../src/main/java/common/basic/utils/UuidUtil.java | 0 .../main/java/common/basic/utils/VectorUtil.java | 0 .../java/common/basic/utils/XmlDocumentUtil.java | 0 .../src/main/java/common/basic/xmls/Attributes.java | 0 .../java/common/basic/xmls/ExceptionXmlWriter.java | 0 .../src/main/java/common/basic/xmls/XmlWriter.java | 0 .../src/main/resources/common/basic/dummy/Dummy.txt | 0 .../test/groovy/common/basic/HelloWorldTest.groovy | 0 .../groovy/common/basic/dummy/DummyTextTest.groovy | 0 .../common/basic/utils/BooleanUtilTest.groovy | 0 .../common/basic/utils/EncodingUtilTest.groovy | 0 .../groovy/common/basic/utils/UuidUtilTest.groovy | 0 .../src/test/java/common/basic/PrepareTest.java | 0 .../test/java/common/basic/databases/NormTest.java | 0 .../test/java/common/basic/databases/QueryTest.java | 0 .../test/java/common/basic/databases/TestMock.java | 0 .../src/test/java/common/basic/logs/LoggerTest.java | 0 .../src/test/java/common/basic/utils/CastTest.java | 0 .../java/common/basic/utils/CloseableUtilTest.java | 0 .../test/java/common/basic/utils/CrcUtilTest.java | 0 .../test/java/common/basic/utils/FileUtilTest.java | 0 .../basic/utils/GoogleHttpClientUtilTest.java | 0 .../test/java/common/basic/utils/GsonUtilTest.java | 0 .../common/basic/utils/HashMapStringObjectTest.java | 0 .../common/basic/utils/HashMapStringStringTest.java | 0 .../test/java/common/basic/utils/JsoupUtilTest.java | 0 .../java/common/basic/utils/ListUtilTestLegacy.java | 0 .../java/common/basic/utils/MapBuilderTest.java | 0 .../test/java/common/basic/utils/MimeTypeTest.java | 0 .../src/test/java/common/basic/utils/PairTest.java | 0 .../test/java/common/basic/utils/PathUtilTest.java | 0 .../java/common/basic/utils/RandomUtilTest.java | 0 .../basic/utils/ReflectionUtilTestWithJUnit.java | 0 .../java/common/basic/utils/ResultSetUtilTest.java | 0 .../java/common/basic/utils/StreamUtilTest.java | 0 .../java/common/basic/utils/StringUtilTest.java | 0 .../java/common/basic/utils/TempDirectoryTest.java | 0 .../src/test/java/common/basic/utils/TestClass.java | 0 .../common/basic/utils/ZipParametersUtilTest.java | 0 .../test/java/common/basic/xmls/XmlWriterTest.java | 0 java-common-basic/src/test/resources/000.png | Bin java-common-basic/src/test/resources/001.png | Bin java-common-basic/src/test/resources/002.png | Bin java-common-basic/src/test/resources/003.png | Bin java-common-basic/src/test/resources/004.png | Bin java-common-basic/src/test/resources/005.png | Bin java-common-basic/src/test/resources/006.png | Bin java-common-basic/src/test/resources/007.png | Bin java-common-basic/src/test/resources/008.png | Bin java-common-basic/src/test/resources/009.png | Bin java-common-basic/src/test/resources/010.png | Bin java-common-basic/src/test/resources/011.png | Bin java-common-basic/src/test/resources/012.png | Bin java-common-basic/src/test/resources/013.png | Bin java-common-basic/src/test/resources/014.png | Bin java-common-basic/src/test/resources/015.png | Bin java-common-basic/src/test/resources/016.png | Bin java-common-basic/src/test/resources/017.png | Bin java-common-basic/src/test/resources/018.png | Bin java-common-basic/src/test/resources/019.png | Bin .../app/common/play1/annotations/ExcludeGson.java | 0 .../ExclusionStrategyWithExcludeGson.java | 0 .../app/common/play1/extensions/JobBase.java | 0 .../app/common/play1/externals/BCrypt.java | 0 .../common/play1/logics/ApplicationConfBase.java | 0 .../app/common/play1/logs/LoggerPlay.java | 0 .../app/common/play1/utils/ApplicationConfUtil.java | 0 .../app/common/play1/utils/CryptoUtil.java | 0 .../app/common/play1/utils/GcmUtil.java | 0 .../app/common/play1/utils/JobUtil.java | 0 .../app/common/play1/utils/RequestUtil.java | 0 .../app/common/play1/utils/SienaUtil.java | 0 .../app/common/play1/utils/ValidationUtil.java | 0 .../app/controllers/Admins.java | 0 .../app/controllers/ControllerBase.java | 0 .../app/controllers/Home.java | 0 .../app/controllers/Tests.java | 0 .../app/controllers/api/v1/AccountDevices.java | 0 .../app/controllers/api/v1/Accounts.java | 0 .../app/controllers/api/v1/Auth.java | 0 .../app/controllers/api/v1/Echos.java | 0 java-common-playframework1/app/jobs/JobHourly.java | 0 .../app/jobs/JobOnApplicationStart.java | 0 .../app/logics/ApplicationConf.java | 0 java-common-playframework1/app/logics/Check.java | 0 .../app/logics/ExceptionNeedAuth.java | 0 .../app/logics/ExceptionNeedPermission.java | 0 java-common-playframework1/app/logics/GcmLogic.java | 0 java-common-playframework1/app/logics/Json.java | 0 .../app/logics/PermissionLogic.java | 0 .../app/logics/SessionLogic.java | 0 java-common-playframework1/app/models/Account.java | 0 .../app/models/AccountDevice.java | 0 .../app/models/AccountPermission.java | 0 .../app/models/Attachment.java | 0 .../app/models/AttachmentAccountProfile.java | 0 java-common-playframework1/app/models/Device.java | 0 .../app/models/DirectQuery.java | 0 .../app/models/FileStorage.java | 0 .../app/models/ModelAutoIncrement.java | 0 .../app/models/ModelBase.java | 0 .../app/models/ModelUuid.java | 0 java-common-playframework1/app/models/Notice.java | 0 .../app/models/NotificationType.java | 0 java-common-playframework1/app/models/OS.java | 0 .../app/models/Permission.java | 0 .../app/views/Admins/_admins.html | 0 .../app/views/Admins/accountEdit.html | 0 .../app/views/Admins/accountList.html | 0 .../app/views/Admins/index.html | 0 .../app/views/Admins/noticeList.html | 0 .../app/views/Home/index.html | 0 .../views/PushNotifications/_pushNotifications.html | 0 .../app/views/PushNotifications/index.html | 0 java-common-playframework1/app/views/_base.html | 0 .../app/views/_baseSkeleton.html | 0 .../app/views/tags/buttonForTest.html | 0 .../app/views/tags/checkPermission.html | 0 .../app/views/tags/isAdmin.html | 0 .../app/views/tags/isDev.html | 0 .../app/views/tags/isLoggedIn.html | 0 .../app/views/tags/isNotDev.html | 0 .../app/views/tags/isNotLoggedIn.html | 0 java-common-playframework1/conf/application.conf | 0 java-common-playframework1/conf/dependencies.yml | 0 java-common-playframework1/conf/routes | 0 java-common-playframework1/lib/gcm-server.jar | Bin java-common-playframework1/lib/json_simple-1.1.jar | Bin .../public/javascripts/consolelog-2.0.0.js | 0 .../public/javascripts/consolelog-2.0.0.min.js | 0 .../javascripts/consolelog.detailprint-2.0.0.js | 0 .../javascripts/consolelog.detailprint-2.0.0.min.js | 0 .../public/javascripts/json2.js | 0 .../public/stylesheets/less.less | 0 .../stylesheets/standard.mixin.css-tricks.com.less | 0 run-tests.sh | 0 285 files changed, 10 insertions(+), 1 deletion(-) mode change 100755 => 100644 .travis.yml mode change 100755 => 100644 java-common-android/AndroidManifest.xml mode change 100755 => 100644 java-common-android/res/layout/activity_splash.xml mode change 100755 => 100644 java-common-android/src/common/android/enums/GravityEnum.java mode change 100755 => 100644 java-common-android/src/common/android/extensions/AdapterList.java mode change 100755 => 100644 java-common-android/src/common/android/extensions/FilterOutputStreamProgress.java mode change 100755 => 100644 java-common-android/src/common/android/extensions/MultipartEntityProgress.java mode change 100755 => 100644 java-common-android/src/common/android/facebooks/FacebookHelper.java mode change 100755 => 100644 java-common-android/src/common/android/facebooks/ICallbackSession.java mode change 100755 => 100644 java-common-android/src/common/android/facebooks/StatusCallbackOnce.java mode change 100755 => 100644 java-common-android/src/common/android/twitters/TwitterHelper.java mode change 100755 => 100644 java-common-android/src/common/android/utils/AccountManagerUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ActionBarUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/AndroidHttpClientUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/BitmapFactoryUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/BitmapUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ColorUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ConnectivityManagerUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/CursorUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/DialogInterfaceUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/DisplayUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/HttpEntityUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ImageUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/InputMethodManagerUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/LinearLayoutLayoutParamsUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/MotionEventUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/PackageManagerUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/PointUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/RectUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/RelativeLayoutLayoutParamsUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ResourceUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ScreenOrientationHelper.java mode change 100755 => 100644 java-common-android/src/common/android/utils/StatusBarUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/TextViewUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ToastUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ViewGroupUtil.java mode change 100755 => 100644 java-common-android/src/common/android/utils/ViewUtil.java mode change 100755 => 100644 java-common-basic/gradlew mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/HelloWorld.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/databases/DatabaseManager.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/databases/Filter.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/databases/Operator.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/databases/Query.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/databases/QueryExecutor.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/dummy/Dummy.txt mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/dummy/DummyText.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/events/EventChange.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/google/GoogleHttpClientUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlDocumentFilter.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlFetcher.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlParser.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupDocumentUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/twitter4j/TwitterUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/zip4j/FileAbstract.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/zip4j/FilePlain.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/zip4j/FileZip.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/zip4j/ZipFileUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/externals/zip4j/ZipParametersUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/facades/jsons/gson/GsonUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/genModels/ConvertModels.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/genModels/GenerateSelectorXmls.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/genModels/Main.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/genModels/selector.xml mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/LeftTopRightBottom.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/Margin.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/Padding.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/Point.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/PointD.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/PointF.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/Rect.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/RectD.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/RectF.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/RectSectionLtrb.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/Size.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/SizeD.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/geometiries/SizeF.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/helper/HttpRequestHelper.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/helpers/MemoryWatcher.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/htmlFetcher/ImageMetadata.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/htmlFetcher/MaxSelector.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/htmlFetcher/Retryable.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallback.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackProgress.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackVoid.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/IIndexValue.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/IPredicator.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/IPredicatorThrowable.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/IRunnable.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/interfaces/RunnableThrowsException.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logics/MoreLogic.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logs/ILogger.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logs/Level.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logs/LogUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logs/Logger.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/logs/LoggerStandardOut.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/managers/HolderResource.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/managers/HolderTempFile.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ArrayUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/BindUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/BooleanUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/BufferedImageUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/BufferedReaderUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ByteUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/Cast.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/CloseableUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/CollectionUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/CrcUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/DateUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/EncodingUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/EnumerationUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/FacebookUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/FileUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/GraphicsUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/Grep.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/HashMapStringObject.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/HashMapStringString.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/HumanReadable.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/IntUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/IpUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/IterableUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ListUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/LongUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/MapBuilderT.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/MimeType.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/Pair.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/PathUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/PathUtilNew.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/RandomUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/RedundantEventSkipper.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/RegExpUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/StopWatch.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/StreamUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/StringUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/SystemUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/TelephoneNumber.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/TempDirectory.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ThreadFactoryNamedPriority.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ThreadUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/ThrowableUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/URLUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/UuidUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/VectorUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/utils/XmlDocumentUtil.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/xmls/Attributes.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/xmls/ExceptionXmlWriter.java mode change 100755 => 100644 java-common-basic/src/main/java/common/basic/xmls/XmlWriter.java mode change 100755 => 100644 java-common-basic/src/main/resources/common/basic/dummy/Dummy.txt mode change 100755 => 100644 java-common-basic/src/test/groovy/common/basic/HelloWorldTest.groovy mode change 100755 => 100644 java-common-basic/src/test/groovy/common/basic/dummy/DummyTextTest.groovy mode change 100755 => 100644 java-common-basic/src/test/groovy/common/basic/utils/BooleanUtilTest.groovy mode change 100755 => 100644 java-common-basic/src/test/groovy/common/basic/utils/EncodingUtilTest.groovy mode change 100755 => 100644 java-common-basic/src/test/groovy/common/basic/utils/UuidUtilTest.groovy mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/PrepareTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/databases/NormTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/databases/QueryTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/databases/TestMock.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/logs/LoggerTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/CastTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/CloseableUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/CrcUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/FileUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/GoogleHttpClientUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/GsonUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/HashMapStringObjectTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/HashMapStringStringTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/JsoupUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/MapBuilderTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/MimeTypeTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/PairTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/PathUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/RandomUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/ResultSetUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/StreamUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/TempDirectoryTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/TestClass.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/utils/ZipParametersUtilTest.java mode change 100755 => 100644 java-common-basic/src/test/java/common/basic/xmls/XmlWriterTest.java mode change 100755 => 100644 java-common-basic/src/test/resources/000.png mode change 100755 => 100644 java-common-basic/src/test/resources/001.png mode change 100755 => 100644 java-common-basic/src/test/resources/002.png mode change 100755 => 100644 java-common-basic/src/test/resources/003.png mode change 100755 => 100644 java-common-basic/src/test/resources/004.png mode change 100755 => 100644 java-common-basic/src/test/resources/005.png mode change 100755 => 100644 java-common-basic/src/test/resources/006.png mode change 100755 => 100644 java-common-basic/src/test/resources/007.png mode change 100755 => 100644 java-common-basic/src/test/resources/008.png mode change 100755 => 100644 java-common-basic/src/test/resources/009.png mode change 100755 => 100644 java-common-basic/src/test/resources/010.png mode change 100755 => 100644 java-common-basic/src/test/resources/011.png mode change 100755 => 100644 java-common-basic/src/test/resources/012.png mode change 100755 => 100644 java-common-basic/src/test/resources/013.png mode change 100755 => 100644 java-common-basic/src/test/resources/014.png mode change 100755 => 100644 java-common-basic/src/test/resources/015.png mode change 100755 => 100644 java-common-basic/src/test/resources/016.png mode change 100755 => 100644 java-common-basic/src/test/resources/017.png mode change 100755 => 100644 java-common-basic/src/test/resources/018.png mode change 100755 => 100644 java-common-basic/src/test/resources/019.png mode change 100755 => 100644 java-common-playframework1/app/common/play1/annotations/ExcludeGson.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/extensions/ExclusionStrategyWithExcludeGson.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/extensions/JobBase.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/externals/BCrypt.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/logics/ApplicationConfBase.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/logs/LoggerPlay.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/ApplicationConfUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/CryptoUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/GcmUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/JobUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/RequestUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/SienaUtil.java mode change 100755 => 100644 java-common-playframework1/app/common/play1/utils/ValidationUtil.java mode change 100755 => 100644 java-common-playframework1/app/controllers/Admins.java mode change 100755 => 100644 java-common-playframework1/app/controllers/ControllerBase.java mode change 100755 => 100644 java-common-playframework1/app/controllers/Home.java mode change 100755 => 100644 java-common-playframework1/app/controllers/Tests.java mode change 100755 => 100644 java-common-playframework1/app/controllers/api/v1/AccountDevices.java mode change 100755 => 100644 java-common-playframework1/app/controllers/api/v1/Accounts.java mode change 100755 => 100644 java-common-playframework1/app/controllers/api/v1/Auth.java mode change 100755 => 100644 java-common-playframework1/app/controllers/api/v1/Echos.java mode change 100755 => 100644 java-common-playframework1/app/jobs/JobHourly.java mode change 100755 => 100644 java-common-playframework1/app/jobs/JobOnApplicationStart.java mode change 100755 => 100644 java-common-playframework1/app/logics/ApplicationConf.java mode change 100755 => 100644 java-common-playframework1/app/logics/Check.java mode change 100755 => 100644 java-common-playframework1/app/logics/ExceptionNeedAuth.java mode change 100755 => 100644 java-common-playframework1/app/logics/ExceptionNeedPermission.java mode change 100755 => 100644 java-common-playframework1/app/logics/GcmLogic.java mode change 100755 => 100644 java-common-playframework1/app/logics/Json.java mode change 100755 => 100644 java-common-playframework1/app/logics/PermissionLogic.java mode change 100755 => 100644 java-common-playframework1/app/logics/SessionLogic.java mode change 100755 => 100644 java-common-playframework1/app/models/Account.java mode change 100755 => 100644 java-common-playframework1/app/models/AccountDevice.java mode change 100755 => 100644 java-common-playframework1/app/models/AccountPermission.java mode change 100755 => 100644 java-common-playframework1/app/models/Attachment.java mode change 100755 => 100644 java-common-playframework1/app/models/AttachmentAccountProfile.java mode change 100755 => 100644 java-common-playframework1/app/models/Device.java mode change 100755 => 100644 java-common-playframework1/app/models/DirectQuery.java mode change 100755 => 100644 java-common-playframework1/app/models/FileStorage.java mode change 100755 => 100644 java-common-playframework1/app/models/ModelAutoIncrement.java mode change 100755 => 100644 java-common-playframework1/app/models/ModelBase.java mode change 100755 => 100644 java-common-playframework1/app/models/ModelUuid.java mode change 100755 => 100644 java-common-playframework1/app/models/Notice.java mode change 100755 => 100644 java-common-playframework1/app/models/NotificationType.java mode change 100755 => 100644 java-common-playframework1/app/models/OS.java mode change 100755 => 100644 java-common-playframework1/app/models/Permission.java mode change 100755 => 100644 java-common-playframework1/app/views/Admins/_admins.html mode change 100755 => 100644 java-common-playframework1/app/views/Admins/accountEdit.html mode change 100755 => 100644 java-common-playframework1/app/views/Admins/accountList.html mode change 100755 => 100644 java-common-playframework1/app/views/Admins/index.html mode change 100755 => 100644 java-common-playframework1/app/views/Admins/noticeList.html mode change 100755 => 100644 java-common-playframework1/app/views/Home/index.html mode change 100755 => 100644 java-common-playframework1/app/views/PushNotifications/_pushNotifications.html mode change 100755 => 100644 java-common-playframework1/app/views/PushNotifications/index.html mode change 100755 => 100644 java-common-playframework1/app/views/_base.html mode change 100755 => 100644 java-common-playframework1/app/views/_baseSkeleton.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/buttonForTest.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/checkPermission.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/isAdmin.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/isDev.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/isLoggedIn.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/isNotDev.html mode change 100755 => 100644 java-common-playframework1/app/views/tags/isNotLoggedIn.html mode change 100755 => 100644 java-common-playframework1/conf/application.conf mode change 100755 => 100644 java-common-playframework1/conf/dependencies.yml mode change 100755 => 100644 java-common-playframework1/conf/routes mode change 100755 => 100644 java-common-playframework1/lib/gcm-server.jar mode change 100755 => 100644 java-common-playframework1/lib/json_simple-1.1.jar mode change 100755 => 100644 java-common-playframework1/public/javascripts/consolelog-2.0.0.js mode change 100755 => 100644 java-common-playframework1/public/javascripts/consolelog-2.0.0.min.js mode change 100755 => 100644 java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.js mode change 100755 => 100644 java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.min.js mode change 100755 => 100644 java-common-playframework1/public/javascripts/json2.js mode change 100755 => 100644 java-common-playframework1/public/stylesheets/less.less mode change 100755 => 100644 java-common-playframework1/public/stylesheets/standard.mixin.css-tricks.com.less mode change 100755 => 100644 run-tests.sh diff --git a/.travis.yml b/.travis.yml old mode 100755 new mode 100644 diff --git a/java-common-android/AndroidManifest.xml b/java-common-android/AndroidManifest.xml old mode 100755 new mode 100644 diff --git a/java-common-android/res/layout/activity_splash.xml b/java-common-android/res/layout/activity_splash.xml old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/enums/GravityEnum.java b/java-common-android/src/common/android/enums/GravityEnum.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/extensions/AdapterList.java b/java-common-android/src/common/android/extensions/AdapterList.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/extensions/FilterOutputStreamProgress.java b/java-common-android/src/common/android/extensions/FilterOutputStreamProgress.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/extensions/MultipartEntityProgress.java b/java-common-android/src/common/android/extensions/MultipartEntityProgress.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/facebooks/FacebookHelper.java b/java-common-android/src/common/android/facebooks/FacebookHelper.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/facebooks/ICallbackSession.java b/java-common-android/src/common/android/facebooks/ICallbackSession.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/facebooks/StatusCallbackOnce.java b/java-common-android/src/common/android/facebooks/StatusCallbackOnce.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/twitters/TwitterHelper.java b/java-common-android/src/common/android/twitters/TwitterHelper.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/AccountManagerUtil.java b/java-common-android/src/common/android/utils/AccountManagerUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ActionBarUtil.java b/java-common-android/src/common/android/utils/ActionBarUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/AndroidHttpClientUtil.java b/java-common-android/src/common/android/utils/AndroidHttpClientUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/BitmapFactoryUtil.java b/java-common-android/src/common/android/utils/BitmapFactoryUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/BitmapUtil.java b/java-common-android/src/common/android/utils/BitmapUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ColorUtil.java b/java-common-android/src/common/android/utils/ColorUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ConnectivityManagerUtil.java b/java-common-android/src/common/android/utils/ConnectivityManagerUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/CursorUtil.java b/java-common-android/src/common/android/utils/CursorUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/DialogInterfaceUtil.java b/java-common-android/src/common/android/utils/DialogInterfaceUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/DisplayUtil.java b/java-common-android/src/common/android/utils/DisplayUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/HttpEntityUtil.java b/java-common-android/src/common/android/utils/HttpEntityUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ImageUtil.java b/java-common-android/src/common/android/utils/ImageUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/InputMethodManagerUtil.java b/java-common-android/src/common/android/utils/InputMethodManagerUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/LinearLayoutLayoutParamsUtil.java b/java-common-android/src/common/android/utils/LinearLayoutLayoutParamsUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/MotionEventUtil.java b/java-common-android/src/common/android/utils/MotionEventUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/PackageManagerUtil.java b/java-common-android/src/common/android/utils/PackageManagerUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/PointUtil.java b/java-common-android/src/common/android/utils/PointUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/RectUtil.java b/java-common-android/src/common/android/utils/RectUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/RelativeLayoutLayoutParamsUtil.java b/java-common-android/src/common/android/utils/RelativeLayoutLayoutParamsUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ResourceUtil.java b/java-common-android/src/common/android/utils/ResourceUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ScreenOrientationHelper.java b/java-common-android/src/common/android/utils/ScreenOrientationHelper.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/StatusBarUtil.java b/java-common-android/src/common/android/utils/StatusBarUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/TextViewUtil.java b/java-common-android/src/common/android/utils/TextViewUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ToastUtil.java b/java-common-android/src/common/android/utils/ToastUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ViewGroupUtil.java b/java-common-android/src/common/android/utils/ViewGroupUtil.java old mode 100755 new mode 100644 diff --git a/java-common-android/src/common/android/utils/ViewUtil.java b/java-common-android/src/common/android/utils/ViewUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/gradlew b/java-common-basic/gradlew old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/HelloWorld.java b/java-common-basic/src/main/java/common/basic/HelloWorld.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/databases/DatabaseManager.java b/java-common-basic/src/main/java/common/basic/databases/DatabaseManager.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/databases/Filter.java b/java-common-basic/src/main/java/common/basic/databases/Filter.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/databases/Operator.java b/java-common-basic/src/main/java/common/basic/databases/Operator.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/databases/Query.java b/java-common-basic/src/main/java/common/basic/databases/Query.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/databases/QueryExecutor.java b/java-common-basic/src/main/java/common/basic/databases/QueryExecutor.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/dummy/Dummy.txt b/java-common-basic/src/main/java/common/basic/dummy/Dummy.txt old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/dummy/DummyText.java b/java-common-basic/src/main/java/common/basic/dummy/DummyText.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/events/EventChange.java b/java-common-basic/src/main/java/common/basic/events/EventChange.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/google/GoogleHttpClientUtil.java b/java-common-basic/src/main/java/common/basic/externals/google/GoogleHttpClientUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlDocumentFilter.java b/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlDocumentFilter.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlFetcher.java b/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlFetcher.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlParser.java b/java-common-basic/src/main/java/common/basic/externals/jsoup/HtmlParser.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupDocumentUtil.java b/java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupDocumentUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupUtil.java b/java-common-basic/src/main/java/common/basic/externals/jsoup/JsoupUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/twitter4j/TwitterUtil.java b/java-common-basic/src/main/java/common/basic/externals/twitter4j/TwitterUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/zip4j/FileAbstract.java b/java-common-basic/src/main/java/common/basic/externals/zip4j/FileAbstract.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/zip4j/FilePlain.java b/java-common-basic/src/main/java/common/basic/externals/zip4j/FilePlain.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/zip4j/FileZip.java b/java-common-basic/src/main/java/common/basic/externals/zip4j/FileZip.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/zip4j/ZipFileUtil.java b/java-common-basic/src/main/java/common/basic/externals/zip4j/ZipFileUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/externals/zip4j/ZipParametersUtil.java b/java-common-basic/src/main/java/common/basic/externals/zip4j/ZipParametersUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/facades/jsons/gson/GsonUtil.java b/java-common-basic/src/main/java/common/basic/facades/jsons/gson/GsonUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java b/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/genModels/ConvertModels.java b/java-common-basic/src/main/java/common/basic/genModels/ConvertModels.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/genModels/GenerateSelectorXmls.java b/java-common-basic/src/main/java/common/basic/genModels/GenerateSelectorXmls.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/genModels/Main.java b/java-common-basic/src/main/java/common/basic/genModels/Main.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/genModels/selector.xml b/java-common-basic/src/main/java/common/basic/genModels/selector.xml old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/LeftTopRightBottom.java b/java-common-basic/src/main/java/common/basic/geometiries/LeftTopRightBottom.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/Margin.java b/java-common-basic/src/main/java/common/basic/geometiries/Margin.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/Padding.java b/java-common-basic/src/main/java/common/basic/geometiries/Padding.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/Point.java b/java-common-basic/src/main/java/common/basic/geometiries/Point.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/PointD.java b/java-common-basic/src/main/java/common/basic/geometiries/PointD.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/PointF.java b/java-common-basic/src/main/java/common/basic/geometiries/PointF.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/Rect.java b/java-common-basic/src/main/java/common/basic/geometiries/Rect.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/RectD.java b/java-common-basic/src/main/java/common/basic/geometiries/RectD.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/RectF.java b/java-common-basic/src/main/java/common/basic/geometiries/RectF.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/RectSectionLtrb.java b/java-common-basic/src/main/java/common/basic/geometiries/RectSectionLtrb.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/Size.java b/java-common-basic/src/main/java/common/basic/geometiries/Size.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/SizeD.java b/java-common-basic/src/main/java/common/basic/geometiries/SizeD.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/geometiries/SizeF.java b/java-common-basic/src/main/java/common/basic/geometiries/SizeF.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/helper/HttpRequestHelper.java b/java-common-basic/src/main/java/common/basic/helper/HttpRequestHelper.java old mode 100755 new mode 100644 index bd103d5..e256f94 --- a/java-common-basic/src/main/java/common/basic/helper/HttpRequestHelper.java +++ b/java-common-basic/src/main/java/common/basic/helper/HttpRequestHelper.java @@ -93,7 +93,7 @@ public interface IResponseByteArray { void onException(Exception e); } - private enum HttpMethod { + public enum HttpMethod { Get, Post } @@ -259,4 +259,13 @@ public static String getTextSync(String url) { return ""; } } + + public static String postTextSync(String url, List listParam) { + try { + HttpResponse httpResponse = getHttpResponse(HttpMethod.Post, url, listParam); + return responseText(httpResponse); + } catch (Exception e) { + return ""; + } + } } \ No newline at end of file diff --git a/java-common-basic/src/main/java/common/basic/helpers/MemoryWatcher.java b/java-common-basic/src/main/java/common/basic/helpers/MemoryWatcher.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/htmlFetcher/ImageMetadata.java b/java-common-basic/src/main/java/common/basic/htmlFetcher/ImageMetadata.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/htmlFetcher/MaxSelector.java b/java-common-basic/src/main/java/common/basic/htmlFetcher/MaxSelector.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/htmlFetcher/Retryable.java b/java-common-basic/src/main/java/common/basic/htmlFetcher/Retryable.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallback.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallback.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackInt.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackProgress.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackProgress.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackTF.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackVoid.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackVoid.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/IIndexValue.java b/java-common-basic/src/main/java/common/basic/interfaces/IIndexValue.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/IPredicator.java b/java-common-basic/src/main/java/common/basic/interfaces/IPredicator.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/IPredicatorThrowable.java b/java-common-basic/src/main/java/common/basic/interfaces/IPredicatorThrowable.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/IRunnable.java b/java-common-basic/src/main/java/common/basic/interfaces/IRunnable.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/interfaces/RunnableThrowsException.java b/java-common-basic/src/main/java/common/basic/interfaces/RunnableThrowsException.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logics/MoreLogic.java b/java-common-basic/src/main/java/common/basic/logics/MoreLogic.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logs/ILogger.java b/java-common-basic/src/main/java/common/basic/logs/ILogger.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logs/Level.java b/java-common-basic/src/main/java/common/basic/logs/Level.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logs/LogUtil.java b/java-common-basic/src/main/java/common/basic/logs/LogUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logs/Logger.java b/java-common-basic/src/main/java/common/basic/logs/Logger.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/logs/LoggerStandardOut.java b/java-common-basic/src/main/java/common/basic/logs/LoggerStandardOut.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/managers/HolderResource.java b/java-common-basic/src/main/java/common/basic/managers/HolderResource.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/managers/HolderTempFile.java b/java-common-basic/src/main/java/common/basic/managers/HolderTempFile.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ArrayUtil.java b/java-common-basic/src/main/java/common/basic/utils/ArrayUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/BindUtil.java b/java-common-basic/src/main/java/common/basic/utils/BindUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/BooleanUtil.java b/java-common-basic/src/main/java/common/basic/utils/BooleanUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/BufferedImageUtil.java b/java-common-basic/src/main/java/common/basic/utils/BufferedImageUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/BufferedReaderUtil.java b/java-common-basic/src/main/java/common/basic/utils/BufferedReaderUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ByteUtil.java b/java-common-basic/src/main/java/common/basic/utils/ByteUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/Cast.java b/java-common-basic/src/main/java/common/basic/utils/Cast.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/CloseableUtil.java b/java-common-basic/src/main/java/common/basic/utils/CloseableUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/CollectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/CollectionUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/CrcUtil.java b/java-common-basic/src/main/java/common/basic/utils/CrcUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/DateUtil.java b/java-common-basic/src/main/java/common/basic/utils/DateUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java b/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/EncodingUtil.java b/java-common-basic/src/main/java/common/basic/utils/EncodingUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/EnumerationUtil.java b/java-common-basic/src/main/java/common/basic/utils/EnumerationUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/FacebookUtil.java b/java-common-basic/src/main/java/common/basic/utils/FacebookUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/FileUtil.java b/java-common-basic/src/main/java/common/basic/utils/FileUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/GraphicsUtil.java b/java-common-basic/src/main/java/common/basic/utils/GraphicsUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/Grep.java b/java-common-basic/src/main/java/common/basic/utils/Grep.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/HashMapStringObject.java b/java-common-basic/src/main/java/common/basic/utils/HashMapStringObject.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/HashMapStringString.java b/java-common-basic/src/main/java/common/basic/utils/HashMapStringString.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/HumanReadable.java b/java-common-basic/src/main/java/common/basic/utils/HumanReadable.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/IntUtil.java b/java-common-basic/src/main/java/common/basic/utils/IntUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/IpUtil.java b/java-common-basic/src/main/java/common/basic/utils/IpUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/IterableUtil.java b/java-common-basic/src/main/java/common/basic/utils/IterableUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/LongUtil.java b/java-common-basic/src/main/java/common/basic/utils/LongUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/MapBuilderT.java b/java-common-basic/src/main/java/common/basic/utils/MapBuilderT.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/MimeType.java b/java-common-basic/src/main/java/common/basic/utils/MimeType.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/Pair.java b/java-common-basic/src/main/java/common/basic/utils/Pair.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java b/java-common-basic/src/main/java/common/basic/utils/ParamBuilder.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/PathUtil.java b/java-common-basic/src/main/java/common/basic/utils/PathUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/PathUtilNew.java b/java-common-basic/src/main/java/common/basic/utils/PathUtilNew.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/RandomUtil.java b/java-common-basic/src/main/java/common/basic/utils/RandomUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/RedundantEventSkipper.java b/java-common-basic/src/main/java/common/basic/utils/RedundantEventSkipper.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/RegExpUtil.java b/java-common-basic/src/main/java/common/basic/utils/RegExpUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java b/java-common-basic/src/main/java/common/basic/utils/ResultSetUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java b/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/StopWatch.java b/java-common-basic/src/main/java/common/basic/utils/StopWatch.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/StreamUtil.java b/java-common-basic/src/main/java/common/basic/utils/StreamUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/SystemUtil.java b/java-common-basic/src/main/java/common/basic/utils/SystemUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/TelephoneNumber.java b/java-common-basic/src/main/java/common/basic/utils/TelephoneNumber.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/TempDirectory.java b/java-common-basic/src/main/java/common/basic/utils/TempDirectory.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ThreadFactoryNamedPriority.java b/java-common-basic/src/main/java/common/basic/utils/ThreadFactoryNamedPriority.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ThreadUtil.java b/java-common-basic/src/main/java/common/basic/utils/ThreadUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/ThrowableUtil.java b/java-common-basic/src/main/java/common/basic/utils/ThrowableUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/URLUtil.java b/java-common-basic/src/main/java/common/basic/utils/URLUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/UuidUtil.java b/java-common-basic/src/main/java/common/basic/utils/UuidUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/VectorUtil.java b/java-common-basic/src/main/java/common/basic/utils/VectorUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/utils/XmlDocumentUtil.java b/java-common-basic/src/main/java/common/basic/utils/XmlDocumentUtil.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/xmls/Attributes.java b/java-common-basic/src/main/java/common/basic/xmls/Attributes.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/xmls/ExceptionXmlWriter.java b/java-common-basic/src/main/java/common/basic/xmls/ExceptionXmlWriter.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/java/common/basic/xmls/XmlWriter.java b/java-common-basic/src/main/java/common/basic/xmls/XmlWriter.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/main/resources/common/basic/dummy/Dummy.txt b/java-common-basic/src/main/resources/common/basic/dummy/Dummy.txt old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/groovy/common/basic/HelloWorldTest.groovy b/java-common-basic/src/test/groovy/common/basic/HelloWorldTest.groovy old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/groovy/common/basic/dummy/DummyTextTest.groovy b/java-common-basic/src/test/groovy/common/basic/dummy/DummyTextTest.groovy old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/groovy/common/basic/utils/BooleanUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/BooleanUtilTest.groovy old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/groovy/common/basic/utils/EncodingUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/EncodingUtilTest.groovy old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/groovy/common/basic/utils/UuidUtilTest.groovy b/java-common-basic/src/test/groovy/common/basic/utils/UuidUtilTest.groovy old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/PrepareTest.java b/java-common-basic/src/test/java/common/basic/PrepareTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/databases/NormTest.java b/java-common-basic/src/test/java/common/basic/databases/NormTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/databases/QueryTest.java b/java-common-basic/src/test/java/common/basic/databases/QueryTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/databases/TestMock.java b/java-common-basic/src/test/java/common/basic/databases/TestMock.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/logs/LoggerTest.java b/java-common-basic/src/test/java/common/basic/logs/LoggerTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/CastTest.java b/java-common-basic/src/test/java/common/basic/utils/CastTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/CloseableUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/CloseableUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/CrcUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/CrcUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/FileUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/FileUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/GoogleHttpClientUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/GoogleHttpClientUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/GsonUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/GsonUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/HashMapStringObjectTest.java b/java-common-basic/src/test/java/common/basic/utils/HashMapStringObjectTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/HashMapStringStringTest.java b/java-common-basic/src/test/java/common/basic/utils/HashMapStringStringTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/JsoupUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/JsoupUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java b/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/MapBuilderTest.java b/java-common-basic/src/test/java/common/basic/utils/MapBuilderTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/MimeTypeTest.java b/java-common-basic/src/test/java/common/basic/utils/MimeTypeTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/PairTest.java b/java-common-basic/src/test/java/common/basic/utils/PairTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/PathUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/PathUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/RandomUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/RandomUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java b/java-common-basic/src/test/java/common/basic/utils/ReflectionUtilTestWithJUnit.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/ResultSetUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/ResultSetUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/StreamUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/StreamUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/StringUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/TempDirectoryTest.java b/java-common-basic/src/test/java/common/basic/utils/TempDirectoryTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/TestClass.java b/java-common-basic/src/test/java/common/basic/utils/TestClass.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/utils/ZipParametersUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/ZipParametersUtilTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/java/common/basic/xmls/XmlWriterTest.java b/java-common-basic/src/test/java/common/basic/xmls/XmlWriterTest.java old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/000.png b/java-common-basic/src/test/resources/000.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/001.png b/java-common-basic/src/test/resources/001.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/002.png b/java-common-basic/src/test/resources/002.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/003.png b/java-common-basic/src/test/resources/003.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/004.png b/java-common-basic/src/test/resources/004.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/005.png b/java-common-basic/src/test/resources/005.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/006.png b/java-common-basic/src/test/resources/006.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/007.png b/java-common-basic/src/test/resources/007.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/008.png b/java-common-basic/src/test/resources/008.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/009.png b/java-common-basic/src/test/resources/009.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/010.png b/java-common-basic/src/test/resources/010.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/011.png b/java-common-basic/src/test/resources/011.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/012.png b/java-common-basic/src/test/resources/012.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/013.png b/java-common-basic/src/test/resources/013.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/014.png b/java-common-basic/src/test/resources/014.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/015.png b/java-common-basic/src/test/resources/015.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/016.png b/java-common-basic/src/test/resources/016.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/017.png b/java-common-basic/src/test/resources/017.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/018.png b/java-common-basic/src/test/resources/018.png old mode 100755 new mode 100644 diff --git a/java-common-basic/src/test/resources/019.png b/java-common-basic/src/test/resources/019.png old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/annotations/ExcludeGson.java b/java-common-playframework1/app/common/play1/annotations/ExcludeGson.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/extensions/ExclusionStrategyWithExcludeGson.java b/java-common-playframework1/app/common/play1/extensions/ExclusionStrategyWithExcludeGson.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/extensions/JobBase.java b/java-common-playframework1/app/common/play1/extensions/JobBase.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/externals/BCrypt.java b/java-common-playframework1/app/common/play1/externals/BCrypt.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/logics/ApplicationConfBase.java b/java-common-playframework1/app/common/play1/logics/ApplicationConfBase.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/logs/LoggerPlay.java b/java-common-playframework1/app/common/play1/logs/LoggerPlay.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/ApplicationConfUtil.java b/java-common-playframework1/app/common/play1/utils/ApplicationConfUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/CryptoUtil.java b/java-common-playframework1/app/common/play1/utils/CryptoUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/GcmUtil.java b/java-common-playframework1/app/common/play1/utils/GcmUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/JobUtil.java b/java-common-playframework1/app/common/play1/utils/JobUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/RequestUtil.java b/java-common-playframework1/app/common/play1/utils/RequestUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/SienaUtil.java b/java-common-playframework1/app/common/play1/utils/SienaUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/common/play1/utils/ValidationUtil.java b/java-common-playframework1/app/common/play1/utils/ValidationUtil.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/Admins.java b/java-common-playframework1/app/controllers/Admins.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/ControllerBase.java b/java-common-playframework1/app/controllers/ControllerBase.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/Home.java b/java-common-playframework1/app/controllers/Home.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/Tests.java b/java-common-playframework1/app/controllers/Tests.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/api/v1/AccountDevices.java b/java-common-playframework1/app/controllers/api/v1/AccountDevices.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/api/v1/Accounts.java b/java-common-playframework1/app/controllers/api/v1/Accounts.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/api/v1/Auth.java b/java-common-playframework1/app/controllers/api/v1/Auth.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/controllers/api/v1/Echos.java b/java-common-playframework1/app/controllers/api/v1/Echos.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/jobs/JobHourly.java b/java-common-playframework1/app/jobs/JobHourly.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/jobs/JobOnApplicationStart.java b/java-common-playframework1/app/jobs/JobOnApplicationStart.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/ApplicationConf.java b/java-common-playframework1/app/logics/ApplicationConf.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/Check.java b/java-common-playframework1/app/logics/Check.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/ExceptionNeedAuth.java b/java-common-playframework1/app/logics/ExceptionNeedAuth.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/ExceptionNeedPermission.java b/java-common-playframework1/app/logics/ExceptionNeedPermission.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/GcmLogic.java b/java-common-playframework1/app/logics/GcmLogic.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/Json.java b/java-common-playframework1/app/logics/Json.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/PermissionLogic.java b/java-common-playframework1/app/logics/PermissionLogic.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/logics/SessionLogic.java b/java-common-playframework1/app/logics/SessionLogic.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/Account.java b/java-common-playframework1/app/models/Account.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/AccountDevice.java b/java-common-playframework1/app/models/AccountDevice.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/AccountPermission.java b/java-common-playframework1/app/models/AccountPermission.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/Attachment.java b/java-common-playframework1/app/models/Attachment.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/AttachmentAccountProfile.java b/java-common-playframework1/app/models/AttachmentAccountProfile.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/Device.java b/java-common-playframework1/app/models/Device.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/DirectQuery.java b/java-common-playframework1/app/models/DirectQuery.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/FileStorage.java b/java-common-playframework1/app/models/FileStorage.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/ModelAutoIncrement.java b/java-common-playframework1/app/models/ModelAutoIncrement.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/ModelBase.java b/java-common-playframework1/app/models/ModelBase.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/ModelUuid.java b/java-common-playframework1/app/models/ModelUuid.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/Notice.java b/java-common-playframework1/app/models/Notice.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/NotificationType.java b/java-common-playframework1/app/models/NotificationType.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/OS.java b/java-common-playframework1/app/models/OS.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/models/Permission.java b/java-common-playframework1/app/models/Permission.java old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Admins/_admins.html b/java-common-playframework1/app/views/Admins/_admins.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Admins/accountEdit.html b/java-common-playframework1/app/views/Admins/accountEdit.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Admins/accountList.html b/java-common-playframework1/app/views/Admins/accountList.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Admins/index.html b/java-common-playframework1/app/views/Admins/index.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Admins/noticeList.html b/java-common-playframework1/app/views/Admins/noticeList.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/Home/index.html b/java-common-playframework1/app/views/Home/index.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/PushNotifications/_pushNotifications.html b/java-common-playframework1/app/views/PushNotifications/_pushNotifications.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/PushNotifications/index.html b/java-common-playframework1/app/views/PushNotifications/index.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/_base.html b/java-common-playframework1/app/views/_base.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/_baseSkeleton.html b/java-common-playframework1/app/views/_baseSkeleton.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/buttonForTest.html b/java-common-playframework1/app/views/tags/buttonForTest.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/checkPermission.html b/java-common-playframework1/app/views/tags/checkPermission.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/isAdmin.html b/java-common-playframework1/app/views/tags/isAdmin.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/isDev.html b/java-common-playframework1/app/views/tags/isDev.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/isLoggedIn.html b/java-common-playframework1/app/views/tags/isLoggedIn.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/isNotDev.html b/java-common-playframework1/app/views/tags/isNotDev.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/app/views/tags/isNotLoggedIn.html b/java-common-playframework1/app/views/tags/isNotLoggedIn.html old mode 100755 new mode 100644 diff --git a/java-common-playframework1/conf/application.conf b/java-common-playframework1/conf/application.conf old mode 100755 new mode 100644 diff --git a/java-common-playframework1/conf/dependencies.yml b/java-common-playframework1/conf/dependencies.yml old mode 100755 new mode 100644 diff --git a/java-common-playframework1/conf/routes b/java-common-playframework1/conf/routes old mode 100755 new mode 100644 diff --git a/java-common-playframework1/lib/gcm-server.jar b/java-common-playframework1/lib/gcm-server.jar old mode 100755 new mode 100644 diff --git a/java-common-playframework1/lib/json_simple-1.1.jar b/java-common-playframework1/lib/json_simple-1.1.jar old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/javascripts/consolelog-2.0.0.js b/java-common-playframework1/public/javascripts/consolelog-2.0.0.js old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/javascripts/consolelog-2.0.0.min.js b/java-common-playframework1/public/javascripts/consolelog-2.0.0.min.js old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.js b/java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.js old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.min.js b/java-common-playframework1/public/javascripts/consolelog.detailprint-2.0.0.min.js old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/javascripts/json2.js b/java-common-playframework1/public/javascripts/json2.js old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/stylesheets/less.less b/java-common-playframework1/public/stylesheets/less.less old mode 100755 new mode 100644 diff --git a/java-common-playframework1/public/stylesheets/standard.mixin.css-tricks.com.less b/java-common-playframework1/public/stylesheets/standard.mixin.css-tricks.com.less old mode 100755 new mode 100644 diff --git a/run-tests.sh b/run-tests.sh old mode 100755 new mode 100644 From 819910aae8fb91790f54e2a07f26d0f926afec5d Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 26 Sep 2016 23:09:37 +0900 Subject: [PATCH 33/44] utils add --- .../basic/interfaces/ICallbackBigDecimal.java | 7 ++ .../basic/interfaces/ICallbackDouble.java | 5 ++ .../common/basic/utils/BigDecimalUtil.java | 64 +++++++++++++++++++ .../java/common/basic/utils/CurrencyUtil.java | 52 +++++++++++++++ .../java/common/basic/utils/DoubleUtil.java | 5 ++ .../java/common/basic/utils/ListUtil.java | 22 +++++-- .../basic/utils/SimpleDateFormatUtil.java | 3 + .../basic/utils/BigDecimalUtilTest.java | 53 +++++++++++++++ .../common/basic/utils/CurrencyUtilTest.java | 42 ++++++++++++ 9 files changed, 249 insertions(+), 4 deletions(-) create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackBigDecimal.java create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackDouble.java create mode 100644 java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java create mode 100644 java-common-basic/src/main/java/common/basic/utils/CurrencyUtil.java create mode 100644 java-common-basic/src/test/java/common/basic/utils/BigDecimalUtilTest.java create mode 100644 java-common-basic/src/test/java/common/basic/utils/CurrencyUtilTest.java diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBigDecimal.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBigDecimal.java new file mode 100644 index 0000000..0feb37a --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBigDecimal.java @@ -0,0 +1,7 @@ +package common.basic.interfaces; + +import java.math.BigDecimal; + +public interface ICallbackBigDecimal { + BigDecimal getValue(T t); +} diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackDouble.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackDouble.java new file mode 100644 index 0000000..ec83b60 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackDouble.java @@ -0,0 +1,5 @@ +package common.basic.interfaces; + +public interface ICallbackDouble { + double getValue(T t); +} diff --git a/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java b/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java new file mode 100644 index 0000000..e71d5de --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java @@ -0,0 +1,64 @@ +package common.basic.utils; + +import java.math.BigDecimal; + +public class BigDecimalUtil { + + public static BigDecimal HUNDRED = BigDecimal.valueOf(100); + public static BigDecimal MINUS_ONE = BigDecimal.valueOf(-1); + public static BigDecimal TWO = BigDecimal.valueOf(2);; + + public BigDecimalUtil() throws InstantiationException { + throw new InstantiationException(); + } + + public static BigDecimal parse(String value, BigDecimal defaultValue) { + try { + return new BigDecimal(value); + } catch (Throwable ignored) { + return defaultValue; + } + } + + public static BigDecimal parse(String value) { + return parse(value, BigDecimal.ZERO); + } + + public static boolean gt(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) > 0; + } + + public static boolean lt(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) < 0; + } + + public static boolean eq(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) == 0; + } + + public static boolean isZero(BigDecimal value) { + return BigDecimal.ZERO.equals(value); + } + + public static boolean isMinus(BigDecimal value) { + return BigDecimal.ZERO.compareTo(value) > 0; + } + + public static boolean isPlus(BigDecimal value) { + return BigDecimal.ZERO.compareTo(value) < 0; + } + + public static BigDecimal parseSubString(String value, int start, int end) { + if (value.length() < end) + throw new IllegalArgumentException(); + + return parse(value.substring(start, end).trim()); + } + + public static BigDecimal parseSubString(String value, int start) { + if (value.length() < start) + throw new IllegalArgumentException(); + + return parse(value.substring(start).trim()); + } +} diff --git a/java-common-basic/src/main/java/common/basic/utils/CurrencyUtil.java b/java-common-basic/src/main/java/common/basic/utils/CurrencyUtil.java new file mode 100644 index 0000000..de70cf1 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/utils/CurrencyUtil.java @@ -0,0 +1,52 @@ +package common.basic.utils; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.NumberFormat; + +public class CurrencyUtil { + public CurrencyUtil() throws InstantiationException { + throw new InstantiationException(); + } + + static NumberFormat formatterMoneyWithoutComma = new DecimalFormat("0"); + static NumberFormat formatterUSDwithoutComma = new DecimalFormat("0.00"); + public static synchronized String format(BigDecimal value) { + if ((double)value.longValue() == value.doubleValue()) + { + return formatterMoneyWithoutComma.format(value); + } + return formatterUSDwithoutComma.format(value.setScale(2, BigDecimal.ROUND_UP)); + } + + static NumberFormat formatterMoneyWithComma = new DecimalFormat("#,##0"); + static NumberFormat formatterUSDwithComma = new DecimalFormat("#,##0.00"); + public static synchronized String formatWithComma(BigDecimal value) { + if ((double)value.longValue() == value.doubleValue()) + { + return formatterMoneyWithComma.format(value); + } + return formatterUSDwithComma.format(value.setScale(2, BigDecimal.ROUND_UP)); + } + + public static BigDecimal ceil(final String currency, final BigDecimal price) { + if (currency.equals("TWD")) { + return price.setScale(0, BigDecimal.ROUND_UP); + } + else if (currency.equals("USD")) { + return price.setScale(2, BigDecimal.ROUND_UP); + } + else if (currency.equals("HKD")) { + return price.setScale(0, BigDecimal.ROUND_UP); + } + else if (currency.equals("MOP")) { + return price.setScale(0, BigDecimal.ROUND_UP); + } + else if (currency.equals("CNY")) { + return price.setScale(-1, BigDecimal.ROUND_UP); + } + else { + return price.setScale(-2, BigDecimal.ROUND_UP); + } + } +} diff --git a/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java b/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java index 3ad5c10..0429901 100644 --- a/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/DoubleUtil.java @@ -12,4 +12,9 @@ public static double parse(String value, double defaultValue) { return defaultValue; } } + + public static double parse(String value) { + return parse(value, 0); + } + } diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 8da5e14..9e68d99 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -1,11 +1,9 @@ package common.basic.utils; -import common.basic.interfaces.ICallbackInt; -import common.basic.interfaces.ICallbackListToMap; -import common.basic.interfaces.ICallbackTransform; -import common.basic.interfaces.IPredicator; +import common.basic.interfaces.*; import common.basic.logs.Logger; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -362,4 +360,20 @@ public static int sum(List list, ICallbackInt callback) { } return sum; } + + public static double sum(List list, ICallbackDouble callback) { + double sum = 0; + for (T t : list) { + sum += callback.getValue(t); + } + return sum; + } + + public static BigDecimal sum(List list, ICallbackBigDecimal callback) { + BigDecimal sum = BigDecimal.ZERO; + for (T t : list) { + sum = sum.add(callback.getValue(t)); + } + return sum; + } } diff --git a/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java b/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java index de8e456..74a4ec3 100644 --- a/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/SimpleDateFormatUtil.java @@ -19,6 +19,7 @@ public class SimpleDateFormatUtil { private final static SimpleDateFormat yyyy_dash_MM_dash_dd_space_HH_colon_mm = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.KOREA); private final static SimpleDateFormat yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.KOREA); private final static SimpleDateFormat yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.KOREA); + private final static SimpleDateFormat yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z = new SimpleDateFormat("yyyy-MM-dd HH:mma z", Locale.KOREA); private final static SimpleDateFormat yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis = new SimpleDateFormat("yyyy-MM-dd (E)", Locale.KOREA); private final static SimpleDateFormat yyyy_nyeon_MM_wol_dd_Il = new SimpleDateFormat("yyyy년MM월dd일", Locale.KOREA); private final static SimpleDateFormat yyyyMM = new SimpleDateFormat("yyyyMM", Locale.KOREA); @@ -54,6 +55,8 @@ public class SimpleDateFormatUtil { public static Date yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss(String s, Date dateDefault) { synchronized (yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss) { try { return yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss.parse(s); } catch (ParseException e) { Logger.e(e); return dateDefault; } } } public static String yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS(Date date) { synchronized (yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS) { return yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS.format(date); } } public static Date yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS(String s, Date dateDefault) { synchronized (yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS) { try { return yyyy_dash_MM_dash_dd_space_HH_colon_mm_colon_ss_dot_SSS.parse(s); } catch (ParseException e) { Logger.e(e); return dateDefault; } } } + public static String yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z(Date date) { synchronized (yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z) { return yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z.format(date); } } + public static Date yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z(String s, Date dateDefault) { synchronized (yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z) { try { return yyyy_dash_MM_dash_dd_space_HH_colon_mm_a_space_z.parse(s); } catch (ParseException e) { Logger.e(e); return dateDefault; } } } public static String yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis(Date date) { synchronized (yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis) { return yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis.format(date); } } public static Date yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis(String s, Date dateDefault) { synchronized (yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis) { try { return yyyy_dash_MM_dash_dd_space_leftParenthesis_E_rightParenthesis.parse(s); } catch (ParseException e) { Logger.e(e); return dateDefault; } } } public static String yyyy_nyeon_MM_wol_dd_Il(Date date) { synchronized (yyyy_nyeon_MM_wol_dd_Il) { return yyyy_nyeon_MM_wol_dd_Il.format(date); } } diff --git a/java-common-basic/src/test/java/common/basic/utils/BigDecimalUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/BigDecimalUtilTest.java new file mode 100644 index 0000000..e67866b --- /dev/null +++ b/java-common-basic/src/test/java/common/basic/utils/BigDecimalUtilTest.java @@ -0,0 +1,53 @@ +package common.basic.utils; + +import org.junit.Test; + +import java.math.BigDecimal; +import java.text.DecimalFormat; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +public class BigDecimalUtilTest { + @Test + public void testGeneral() throws Exception { + + BigDecimal value = new BigDecimal(1234.5678); + + + assertEquals("1235", value.setScale(0, BigDecimal.ROUND_UP).toString()); + assertEquals("1234", value.setScale(0, BigDecimal.ROUND_DOWN).toString()); + assertEquals("1235", value.setScale(0, BigDecimal.ROUND_CEILING).toString()); + assertEquals("1234", value.setScale(0, BigDecimal.ROUND_FLOOR).toString()); + assertEquals("1235", value.setScale(0, BigDecimal.ROUND_HALF_UP).toString()); + assertEquals("1235", value.setScale(0, BigDecimal.ROUND_HALF_DOWN).toString()); + assertEquals("1235", value.setScale(0, BigDecimal.ROUND_HALF_EVEN).toString()); + + + BigDecimal value2 = new BigDecimal(1234.1111); + + assertEquals("1234.12", value2.setScale(2, BigDecimal.ROUND_UP).toString()); + assertEquals("1234.11", value2.setScale(2, BigDecimal.ROUND_DOWN).toString()); + assertEquals("1234.12", value2.setScale(2, BigDecimal.ROUND_CEILING).toString()); + assertEquals("1234.11", value2.setScale(2, BigDecimal.ROUND_FLOOR).toString()); + assertEquals("1234.11", value2.setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + assertEquals("1234.11", value2.setScale(2, BigDecimal.ROUND_HALF_DOWN).toString()); + assertEquals("1234.11", value2.setScale(2, BigDecimal.ROUND_HALF_EVEN).toString()); + + DecimalFormat decimalFormat = new DecimalFormat("0.00"); + assertEquals("1230.00", decimalFormat.format(value.setScale(-1, BigDecimal.ROUND_HALF_EVEN))); + + assertTrue(BigDecimalUtil.isPlus(new BigDecimal(1))); + assertTrue(BigDecimalUtil.isMinus(new BigDecimal(-1))); + assertTrue(BigDecimalUtil.lt(new BigDecimal(1), new BigDecimal(2))); + assertTrue(BigDecimalUtil.gt(new BigDecimal(2), new BigDecimal(1))); + assertTrue(BigDecimalUtil.gt(new BigDecimal(-1), new BigDecimal(-2))); + } + + @Test(expected=ArithmeticException.class) + public void testGeneralException() throws Exception + { + BigDecimal value = new BigDecimal(1234.5678); + assertEquals("1234", value.setScale(0, BigDecimal.ROUND_UNNECESSARY).toString()); + } +} diff --git a/java-common-basic/src/test/java/common/basic/utils/CurrencyUtilTest.java b/java-common-basic/src/test/java/common/basic/utils/CurrencyUtilTest.java new file mode 100644 index 0000000..ca13926 --- /dev/null +++ b/java-common-basic/src/test/java/common/basic/utils/CurrencyUtilTest.java @@ -0,0 +1,42 @@ +package common.basic.utils; + +import org.junit.Test; + +import java.math.BigDecimal; + +import static org.junit.Assert.assertEquals; + +public class CurrencyUtilTest { + @Test + public void testFormat() throws Exception { + assertEquals("1", CurrencyUtil.format(new BigDecimal("1"))); + assertEquals("1", CurrencyUtil.format(new BigDecimal(1))); + assertEquals("1.10", CurrencyUtil.format(new BigDecimal("1.1"))); + assertEquals("0.11", CurrencyUtil.format(new BigDecimal(".101"))); + assertEquals("0.11", CurrencyUtil.format(new BigDecimal(0.101))); + + assertEquals("1000.11", CurrencyUtil.format(new BigDecimal(1000.101))); + + } + @Test + public void testFormatWithComma() throws Exception { + assertEquals("1", CurrencyUtil.formatWithComma(new BigDecimal("1"))); + assertEquals("1", CurrencyUtil.formatWithComma(new BigDecimal(1))); + assertEquals("1.10", CurrencyUtil.formatWithComma(new BigDecimal("1.1"))); + assertEquals("0.11", CurrencyUtil.formatWithComma(new BigDecimal(".101"))); + assertEquals("0.11", CurrencyUtil.formatWithComma(new BigDecimal(0.101))); + + assertEquals("1,000.11", CurrencyUtil.formatWithComma(new BigDecimal(1000.101))); + + } + + + @Test + public void testCompare() throws Exception { + assertEquals(true, CurrencyUtil.format(new BigDecimal("1"))); + assertEquals("1", CurrencyUtil.format(new BigDecimal(1))); + assertEquals("1.10", CurrencyUtil.format(new BigDecimal("1.1"))); + assertEquals("0.11", CurrencyUtil.format(new BigDecimal(".101"))); + assertEquals("0.11", CurrencyUtil.format(new BigDecimal(0.101))); + } +} From 3a3ae2cd3223c6d276c2f57eda89b6a786febcce Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 11 Jul 2017 16:23:02 +0900 Subject: [PATCH 34/44] utils add --- .../common/basic/utils/BigDecimalUtil.java | 183 ++++++++++++++++-- 1 file changed, 168 insertions(+), 15 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java b/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java index e71d5de..199555c 100644 --- a/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/BigDecimalUtil.java @@ -4,6 +4,7 @@ public class BigDecimalUtil { + public static BigDecimal HUNDRED = BigDecimal.valueOf(100); public static BigDecimal MINUS_ONE = BigDecimal.valueOf(-1); public static BigDecimal TWO = BigDecimal.valueOf(2);; @@ -24,20 +25,29 @@ public static BigDecimal parse(String value) { return parse(value, BigDecimal.ZERO); } - public static boolean gt(BigDecimal lf, BigDecimal rf) { - return lf.compareTo(rf) > 0; + public static BigDecimal parse(long value) { + return new BigDecimal(value); } - public static boolean lt(BigDecimal lf, BigDecimal rf) { - return lf.compareTo(rf) < 0; + public static BigDecimal parseSubString(String value, int start, int end) { + if (value.length() < end) + throw new IllegalArgumentException(); + + return parse(value.substring(start, end).trim()); } - public static boolean eq(BigDecimal lf, BigDecimal rf) { - return lf.compareTo(rf) == 0; + public static BigDecimal parseSubString(String value, int start) { + if (value.length() < start) + throw new IllegalArgumentException(); + + return parse(value.substring(start).trim()); } + + + public static boolean isZero(BigDecimal value) { - return BigDecimal.ZERO.equals(value); + return equals(BigDecimal.ZERO, value); } public static boolean isMinus(BigDecimal value) { @@ -48,17 +58,160 @@ public static boolean isPlus(BigDecimal value) { return BigDecimal.ZERO.compareTo(value) < 0; } - public static BigDecimal parseSubString(String value, int start, int end) { - if (value.length() < end) - throw new IllegalArgumentException(); + public static boolean isZeroOrMinus(BigDecimal value) { + return isZero(value) || isMinus(value); + } - return parse(value.substring(start, end).trim()); + public static boolean isZeroOrPlus(BigDecimal value) { + return isZero(value) || isPlus(value); } - public static BigDecimal parseSubString(String value, int start) { - if (value.length() < start) - throw new IllegalArgumentException(); - return parse(value.substring(start).trim()); + + + public static boolean lt(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) < 0; + } + + public static boolean lt(BigDecimal lf, long rf) { + return lt(lf, new BigDecimal(rf)); + } + + public static boolean lt(long lf, BigDecimal rf) { + return lt(new BigDecimal(lf), rf); } + + public static boolean lt(BigDecimal lf, String rf) { + return lt(lf, new BigDecimal(rf)); + } + + public static boolean lt(String lf, BigDecimal rf) { + return lt(new BigDecimal(lf), rf); + } + + + + public static boolean le(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) <= 0; + } + + public static boolean le(BigDecimal lf, long rf) { + return le(lf, new BigDecimal(rf)); + } + + public static boolean le(long lf, BigDecimal rf) { + return le(new BigDecimal(lf), rf); + } + + public static boolean le(BigDecimal lf, String rf) { + return le(lf, new BigDecimal(rf)); + } + + public static boolean le(String lf, BigDecimal rf) { + return le(new BigDecimal(lf), rf); + } + + + + + public static boolean gt(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) > 0; + } + + public static boolean gt(BigDecimal lf, long rf) { + return gt(lf, new BigDecimal(rf)); + } + + public static boolean gt(long lf, BigDecimal rf) { + return gt(new BigDecimal(lf), rf); + } + + public static boolean gt(BigDecimal lf, String rf) { + return gt(lf, new BigDecimal(rf)); + } + + public static boolean gt(String lf, BigDecimal rf) { + return gt(new BigDecimal(lf), rf); + } + + + + + public static boolean ge(BigDecimal lf, BigDecimal rf) { + return lf.compareTo(rf) >= 0 ; + } + + public static boolean ge(BigDecimal lf, long rf) { + return ge(lf, new BigDecimal(rf)); + } + + public static boolean ge(long lf, BigDecimal rf) { + return ge(new BigDecimal(lf), rf); + } + + public static boolean ge(BigDecimal lf, String rf) { + return ge(lf, new BigDecimal(rf)); + } + + public static boolean ge(String lf, BigDecimal rf) { + return ge(new BigDecimal(lf), rf); + } + + + public static boolean notEquals(BigDecimal lf, BigDecimal rf) { + if (null == lf || null == rf) + return true; + + return 0 != lf.compareTo(rf); + } + + public static boolean notEquals(long lf, BigDecimal rf) { + return notEquals(new BigDecimal(lf), rf); + } + + public static boolean notEquals(BigDecimal lf, long rf) { + return notEquals(lf, new BigDecimal(rf)); + } + + public static boolean notEquals(String lf, BigDecimal rf) { + return notEquals(new BigDecimal(lf), rf); + } + + public static boolean notEquals(BigDecimal lf, String rf) { + return notEquals(lf, new BigDecimal(rf)); + } + + public static boolean notEquals(String lf, String rf) { + return notEquals(new BigDecimal(lf), new BigDecimal(rf)); + } + + public static boolean equals(BigDecimal lf, BigDecimal rf) { + if (null == lf || null == rf) + return false; + + return 0 == lf.compareTo(rf); + } + + public static boolean equals(long lf, BigDecimal rf) { + return equals(new BigDecimal(lf), rf); + } + + public static boolean equals(BigDecimal lf, long rf) { + return equals(lf, new BigDecimal(rf)); + } + + public static boolean equals(String lf, BigDecimal rf) { + return equals(new BigDecimal(lf), rf); + } + + public static boolean equals(BigDecimal lf, String rf) { + return equals(lf, new BigDecimal(rf)); + } + + public static boolean equals(String lf, String rf) { + return equals(new BigDecimal(lf), new BigDecimal(rf)); + } + + + } From 7b9ad7dd073d0a1c99fb1a0de07aa273bfdad5fd Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 11 Jul 2017 16:27:17 +0900 Subject: [PATCH 35/44] StringUtil.format add --- .../java/common/basic/utils/StringUtil.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index 4faf238..c90521c 100644 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -1,8 +1,11 @@ package common.basic.utils; +import common.basic.logs.Logger; import org.apache.commons.codec.binary.Base64; +import java.util.Collections; import java.util.List; +import java.util.Locale; @SuppressWarnings("UnusedDeclaration") public class StringUtil { @@ -260,4 +263,56 @@ public static boolean isNumeric(String s) { return s.matches("[-+]?\\d*\\.?\\d+"); } + public static String fillZeroAtLeft(String stringNumber, int length) { + return String.format(Locale.getDefault(), "%0" + length + "d", LongUtil.parseLong(stringNumber, 0)); + } + + public static String leftByEucKrByte(String value, int byteLength) { + try { + byte[] bytes = value.getBytes("EUC-KR"); + if( bytes.length < byteLength ) + return value; + + int count = 0; + for (int i = 0; i < byteLength; ++i) { + if (bytes[i] < 0) + ++count; + } + if (count % 2 == 0) { + return new String(bytes, 0, byteLength, "EUC-KR"); + } else { + return new String(bytes, 0, byteLength - 1, "EUC-KR"); + } + } catch (Throwable e) { + Logger.e(e); + return ""; + } + } + + public static String leftByEucKrByteFixWidth(String value, int byteLength) { + try { + byte[] bytes = value.getBytes("EUC-KR"); + if (bytes.length < byteLength) { + return value + join("", Collections.nCopies(byteLength - bytes.length, " ")); + } + + int count = 0; + for (int i = 0; i < byteLength; ++i) { + if (bytes[i] < 0) + ++count; + } + if (count % 2 == 0) { + return new String(bytes, 0, byteLength, "EUC-KR"); + } else { + return new String(bytes, 0, byteLength - 1, "EUC-KR") + " "; + } + } catch (Throwable e) { + Logger.e(e); + return ""; + } + } + + public static String format(String format, Object... args) { + return String.format(Locale.getDefault(), format, args); + } } From 84022a02f1d3ae1bd723f054f698bd5235d5fee5 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 11 Jul 2017 19:39:37 +0900 Subject: [PATCH 36/44] version update --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../java/common/basic/utils/StringUtil.java | 39 +++++++++---------- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index ef5849f..9f9372c 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20151027.155400 +Library-Version: 1.0.20170711.193900 diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index c90521c..f76217d 100644 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -16,24 +16,23 @@ public StringUtil() throws InstantiationException { } - public static boolean isNullOrEmpty(String s) { - if(s == null) + if (s == null) return true; //noinspection RedundantIfStatement - if("".equals(s)) + if ("".equals(s)) return true; return false; } public static boolean isNullOrWhitespace(String s) { - if(null == s) + if (null == s) return true; //noinspection RedundantIfStatement - if("".equals(s.trim())) + if ("".equals(s.trim())) return true; return false; @@ -86,7 +85,7 @@ public static boolean equalsLimit(String s1, String s2, int limit) { public static boolean startsWith(String str, String prefix) { //noinspection SimplifiableIfStatement - if(isNullOrEmpty(str) || isNullOrEmpty(prefix)) { + if (isNullOrEmpty(str) || isNullOrEmpty(prefix)) { return false; } @@ -95,7 +94,7 @@ public static boolean startsWith(String str, String prefix) { public static boolean startsWith(String str, String prefix, int toOffset) { //noinspection SimplifiableIfStatement - if(isNullOrEmpty(str) || isNullOrEmpty(prefix)) { + if (isNullOrEmpty(str) || isNullOrEmpty(prefix)) { return false; } @@ -115,31 +114,30 @@ public static boolean startsWithIgnoreCase(String s1, String s2) { public static String left(String s, int i) { - if(s.length() <= i) + if (s.length() <= i) return s; return s.substring(0, i); } public static String right(String s, int i) { - if(s.length() <= i) + if (s.length() <= i) return s; return s.substring(s.length() - i); } public static String padLeft(String s, int length, char pad) { - if(StringUtil.isNullOrEmpty(s)) + if (StringUtil.isNullOrEmpty(s)) return repeat(Character.toString(pad), length); - if(s.length() > length) + if (s.length() > length) return s; return repeat(Character.toString(pad), length - s.length()) + s; } - public static String repeat(String s, int count) { StringBuilder sb = new StringBuilder(s.length() * count); for (int i = 0; i < count; ++i) @@ -155,14 +153,13 @@ public static String join(String splitter, String... arrayObject) { public static String join(String splitter, List list) { StringBuilder sb = new StringBuilder(); - int size = list.size() ; + int size = list.size(); for (int i = 0; i < size - 1; i++) { sb.append(list.get(i)); sb.append(splitter); } - if(size - 1 >= 0) - { + if (size - 1 >= 0) { sb.append(list.get(size - 1)); } @@ -172,14 +169,13 @@ public static String join(String splitter, List list) { public static String joinWithToString(String splitter, List list) { StringBuilder sb = new StringBuilder(); - int size = list.size() ; + int size = list.size(); for (int i = 0; i < size - 1; i++) { sb.append(list.get(i).toString()); sb.append(splitter); } - if(size - 1 >= 0) - { + if (size - 1 >= 0) { sb.append(list.get(size - 1).toString()); } @@ -188,7 +184,7 @@ public static String joinWithToString(String splitter, List list) { public static String toString(Object o) { - if(o == null) + if (o == null) return "" + null; return o.toString(); @@ -198,7 +194,7 @@ public static String toString(Object o) { public static int count(String path, char c) { int count = 0; for (int i = 0; i < path.length(); i++) { - if(c == path.charAt(i)) + if (c == path.charAt(i)) count++; } @@ -270,7 +266,7 @@ public static String fillZeroAtLeft(String stringNumber, int length) { public static String leftByEucKrByte(String value, int byteLength) { try { byte[] bytes = value.getBytes("EUC-KR"); - if( bytes.length < byteLength ) + if (bytes.length < byteLength) return value; int count = 0; @@ -315,4 +311,5 @@ public static String leftByEucKrByteFixWidth(String value, int byteLength) { public static String format(String format, Object... args) { return String.format(Locale.getDefault(), format, args); } + } From 4df5d5bfb3b76320b98704a265eac5263b4c19d9 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 25 Jul 2017 17:40:54 +0900 Subject: [PATCH 37/44] StringUtil.toString fix --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../src/main/java/common/basic/utils/StringUtil.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 9f9372c..655b8ec 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20170711.193900 +Library-Version: 1.0.20170724.194000 diff --git a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java index f76217d..c6b4bca 100644 --- a/java-common-basic/src/main/java/common/basic/utils/StringUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/StringUtil.java @@ -185,7 +185,7 @@ public static String joinWithToString(String splitter, List list) { public static String toString(Object o) { if (o == null) - return "" + null; + return ""; return o.toString(); } From 0e51d6f0716e55fc827d53615e6d77ea309f67e5 Mon Sep 17 00:00:00 2001 From: silsol Date: Tue, 8 Aug 2017 20:26:10 +0900 Subject: [PATCH 38/44] ReflectionUtil add --- .../main/java/common/basic/utils/ReflectionUtil.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index e55d389..04175df 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -180,6 +180,17 @@ public static Object getValue(Object object, Field field) { } } + public static Object getValue(Object object, String fieldName) { + try { + Field field = object.getClass().getField(fieldName); + return field.get(object); + } catch (IllegalAccessException e) { + return null; + } catch (NoSuchFieldException e) { + return null; + } + } + public static List getListFieldDeclaredRecursive(Class clazz){ List listField = new ArrayList(); listField.addAll(Arrays.asList(clazz.getDeclaredFields())); @@ -709,4 +720,5 @@ public static void invokeIfExists(T t, String method) { } } + } From 57e6558677c57da6143dc6120930061017a5d923 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 9 Aug 2017 17:00:35 +0900 Subject: [PATCH 39/44] ReflectionUtil add --- .../common/basic/utils/ReflectionUtil.java | 178 +++++++----------- .../basic/utils/ListUtilTestLegacy.java | 1 - 2 files changed, 68 insertions(+), 111 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 04175df..bb1a57d 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -28,11 +28,10 @@ public ReflectionUtil() throws InstantiationException { public static List getAnnotatedField(Class clazz, Class annotation) { List arrayField = getListFieldDeclaredRecursive(clazz); List listField = new ArrayList(); - for(Field field : arrayField){ + for (Field field : arrayField) { Annotation[] arrayAnnotation = field.getAnnotations(); - for(Annotation a : arrayAnnotation) - { - if(a.annotationType().equals(annotation)) + for (Annotation a : arrayAnnotation) { + if (a.annotationType().equals(annotation)) listField.add(field); } } @@ -42,7 +41,7 @@ public static List getAnnotatedField(Class clazz, Class annotation public static Field getAnnotatedFieldFirst(Class clazz, Class annotationClass) { List arrayField = getListFieldDeclaredRecursive(clazz); - for(Field field : arrayField){ + for (Field field : arrayField) { final U annotation = field.getAnnotation(annotationClass); if (null != annotation) @@ -89,8 +88,7 @@ public static void setFieldValue(T instance, Field fie final Class type = field.getType(); - if(type.isPrimitive()) - { + if (type.isPrimitive()) { if (value instanceof String) { String stringValue = value.toString(); @@ -125,32 +123,32 @@ public static void setFieldValue(T instance, Field fie } } - } else if(type.equals(String.class) || type.equals(Date.class)) { + } else if (type.equals(String.class) || type.equals(Date.class)) { field.set(instance, value); } else if (type == java.util.List.class && value instanceof List) { ParameterizedType stringListType = (ParameterizedType) field.getGenericType(); Class genericClass = (Class) stringListType.getActualTypeArguments()[0]; - List objects = fromListMapByClass(genericClass, (List>)value); + List objects = fromListMapByClass(genericClass, (List>) value); field.set(instance, objects); - } else if(type.isEnum()) { + } else if (type.isEnum()) { //noinspection unchecked field.set(instance, EnumUtil.parse((Class) type, (String) value)); - } else if(type.equals(Integer.class)) { - if(value instanceof String) + } else if (type.equals(Integer.class)) { + if (value instanceof String) try { - field.set(instance, Integer.valueOf((String)value)); - } catch(NumberFormatException e) { + field.set(instance, Integer.valueOf((String) value)); + } catch (NumberFormatException e) { } - } else if(type.equals(Long.class)) { - if(value instanceof String) + } else if (type.equals(Long.class)) { + if (value instanceof String) try { - field.set(instance, Long.valueOf((String)value)); - } catch(NumberFormatException e) { + field.set(instance, Long.valueOf((String) value)); + } catch (NumberFormatException e) { } } else { - if(annotationClass == null) + if (annotationClass == null) return; final Object o = type.newInstance(); @@ -164,8 +162,7 @@ public static Map getMapField(Class clazz) { List arrayField = getListFieldDeclaredRecursive(clazz); Map mapField = new HashMap(arrayField.size()); - for(Field field : arrayField) - { + for (Field field : arrayField) { mapField.put(field.getName(), field); } return mapField; @@ -191,12 +188,11 @@ public static Object getValue(Object object, String fieldName) { } } - public static List getListFieldDeclaredRecursive(Class clazz){ + public static List getListFieldDeclaredRecursive(Class clazz) { List listField = new ArrayList(); listField.addAll(Arrays.asList(clazz.getDeclaredFields())); final Class classSuper = clazz.getSuperclass(); - if(null != classSuper) - { + if (null != classSuper) { listField.addAll(getListFieldDeclaredRecursive(classSuper)); } @@ -216,28 +212,23 @@ public static Map getMapFieldDeclaredRecursive(Class clazz public static Field getFieldDeclaredRecursive(Class clazz, String fieldName) throws NoSuchFieldException { try { return clazz.getDeclaredField(fieldName); - } - catch (NoSuchFieldException e) { + } catch (NoSuchFieldException e) { final Class classSuper = clazz.getSuperclass(); - if(null == classSuper) - { + if (null == classSuper) { throw e; - } - else - { + } else { return getFieldDeclaredRecursive(classSuper, fieldName); } } } - public static List fromListMap(Class clazz, List> listMap) { return fromListMap(clazz, listMap, null); } public static List fromListMap(Class clazz, List> listMap, Class annotationClass) { - if(listMap == null) + if (listMap == null) return null; List list = new ArrayList(listMap.size()); @@ -252,7 +243,7 @@ public static List fromListMapByClass(Class clazz, List List fromListMapByClass(Class clazz, List> listMap, Class annotationClass) { - if(listMap == null) + if (listMap == null) return null; List list = new ArrayList(listMap.size()); @@ -267,7 +258,7 @@ public static List fromListMapStringStringByClass(Class clazz, List List fromListMapStringStringByClass(Class clazz, List> listMap, Class annotationClass) { - if(listMap == null) + if (listMap == null) return null; List list = new ArrayList(listMap.size()); @@ -286,32 +277,26 @@ public static T fromMap(Class clazz, Map[0]).newInstance(); - for (String key : map.keySet()) - { + for (String key : map.keySet()) { final Object value = map.get(key); final Field field = getFieldDeclaredRecursive(clazz, key); - if(Modifier.isTransient(field.getModifiers())) + if (Modifier.isTransient(field.getModifiers())) continue; setFieldValue(t, field, value, annotationClass); } return t; - } - catch (InstantiationException e) { + } catch (InstantiationException e) { Logger.e(e); - } - catch (IllegalAccessException e) { + } catch (IllegalAccessException e) { Logger.e(e); - } - catch (InvocationTargetException e) { + } catch (InvocationTargetException e) { Logger.e(e); - } - catch (NoSuchMethodException e) { + } catch (NoSuchMethodException e) { Logger.e(e); - } - catch (NoSuchFieldException e) { + } catch (NoSuchFieldException e) { Logger.e(e); } @@ -337,24 +322,20 @@ public static T fromMapByClass(Class clazz, Map T fromMapStringStringByClass(Class cl if (null == value) continue; - if(Modifier.isTransient(field.getModifiers())) + if (Modifier.isTransient(field.getModifiers())) continue; setFieldValue(t, field, value, annotationClass); } return t; - } - catch (InstantiationException e) { + } catch (InstantiationException e) { Logger.e(e); - } - catch (IllegalAccessException e) { + } catch (IllegalAccessException e) { Logger.e(e); - } - catch (InvocationTargetException e) { + } catch (InvocationTargetException e) { Logger.e(e); - } - catch (NoSuchMethodException e) { + } catch (NoSuchMethodException e) { Logger.e(e); } @@ -410,9 +387,8 @@ public static Map toMap(T t) { final Class clazz = t.getClass(); final List arrayField = getListFieldDeclaredRecursive(clazz); - for (Field field : arrayField) - { - if(Modifier.isTransient(field.getModifiers())) + for (Field field : arrayField) { + if (Modifier.isTransient(field.getModifiers())) continue; field.setAccessible(true); @@ -420,8 +396,7 @@ public static Map toMap(T t) { } return map; - } - catch (IllegalAccessException e) { + } catch (IllegalAccessException e) { Logger.e(e); } @@ -430,12 +405,12 @@ public static Map toMap(T t) { public static void assignAnnotatedMemberVariable(List listLhs, List listRhs, Class classAnnotation) { - if(listLhs.size() == 0) { + if (listLhs.size() == 0) { Logger.e("listLhs.size() == 0"); return; } - if(listRhs.size() == 0) { + if (listRhs.size() == 0) { Logger.e("listRhs.size() == 0"); return; } @@ -446,7 +421,6 @@ public static void assignAnnotatedMemberVariable(List listLhs final Class classRhs = rhs0.getClass(); final List listTarget = ListUtil.findAll(getListFieldDeclaredRecursive(classLhs), new IPredicator() { - @Override public boolean predicate(Field field) { return field.getType().equals(classRhs); } @@ -465,12 +439,11 @@ public boolean predicate(Field field) { try { final TRhs value = map.get(annotatedFieldValueFirst); - if(value == null) + if (value == null) continue; setValue(lhs, field, value); - } - catch (IllegalAccessException e) { + } catch (IllegalAccessException e) { Logger.e(e); } } @@ -482,7 +455,7 @@ public boolean predicate(Field field) { private static final String TYPE_INTERFACE_NAME_PREFIX = "interface "; public static String getClassName(Type type) { - if (type==null) { + if (type == null) { return ""; } String className = type.toString(); @@ -495,9 +468,9 @@ public static String getClassName(Type type) { } public static Class getClass(Type type) - throws ClassNotFoundException { + throws ClassNotFoundException { String className = getClassName(type); - if (className==null || className.isEmpty()) { + if (className == null || "".equals(className)) { return null; } return Class.forName(className); @@ -507,7 +480,6 @@ public static Class getClass(Type type) //////////////////////////////// - public static void setFieldByStringArray(T instance, Field field, String[] arrayString, Class annotationClass) throws IllegalAccessException, InstantiationException { if (null == arrayString || 0 == arrayString.length) @@ -517,8 +489,7 @@ public static void setFieldByStringArray(T instance, F final Class type = field.getType(); - if(type.isPrimitive()) - { + if (type.isPrimitive()) { String stringValue = arrayString[0]; if (int.class.equals(type)) { @@ -540,10 +511,10 @@ public static void setFieldByStringArray(T instance, F } else { field.set(instance, stringValue); } - } else if(type.equals(String.class)) { + } else if (type.equals(String.class)) { String stringValue = arrayString[0]; field.set(instance, stringValue); - } else if(type.equals(Date.class)) { + } else if (type.equals(Date.class)) { String stringValue = arrayString[0]; Date parse = DateUtil.yyyyMMddHHmmss(stringValue, null); if (null != parse) @@ -560,63 +531,55 @@ public static void setFieldByStringArray(T instance, F objects.add(parse); } field.set(instance, objects); - } else if (genericClass.equals(String.class)){ + } else if (genericClass.equals(String.class)) { List objects = new ArrayList(); Collections.addAll(objects, arrayString); field.set(instance, objects); } else { if (Integer.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Integer transform(String s) { return IntUtil.parseInt(s, 0); } })); } else if (Long.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Long transform(String s) { return LongUtil.parseLong(s, 0); } })); } else if (Float.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Float transform(String s) { return Float.parseFloat(s); } })); } else if (Double.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Double transform(String s) { return Double.parseDouble(s); } })); } else if (Boolean.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Boolean transform(String s) { return BooleanUtil.parse(s); } })); } else if (Byte.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Byte transform(String s) { return Byte.parseByte(s); } })); } else if (Short.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Short transform(String s) { return Short.parseShort(s); } })); } else if (Character.class.equals(type)) { field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Character transform(String s) { if (StringUtil.isNullOrEmpty(s)) return null; @@ -627,7 +590,6 @@ public Character transform(String s) { } else { Logger.e(field, arrayString); field.set(instance, ListUtil.transform(arrayString, new ICallbackTransform() { - @Override public Object transform(String s) { return s; } @@ -636,24 +598,24 @@ public Object transform(String s) { } - } else if(type.isEnum()) { + } else if (type.isEnum()) { //noinspection unchecked String stringValue = arrayString[0]; field.set(instance, EnumUtil.parse((Class) type, stringValue)); - } else if(type.equals(Integer.class)) { + } else if (type.equals(Integer.class)) { String stringValue = arrayString[0]; try { field.set(instance, Integer.valueOf(stringValue)); - } catch(NumberFormatException e) { + } catch (NumberFormatException e) { } - } else if(type.equals(Long.class)) { + } else if (type.equals(Long.class)) { String stringValue = arrayString[0]; try { field.set(instance, Long.valueOf(stringValue)); - } catch(NumberFormatException e) { + } catch (NumberFormatException e) { } } else { - if(annotationClass == null) + if (annotationClass == null) return; final Object o = type.newInstance(); @@ -677,24 +639,20 @@ public static T bindFromStringStringArray(Class cla if (null == value) continue; - if(Modifier.isTransient(field.getModifiers())) + if (Modifier.isTransient(field.getModifiers())) continue; setFieldByStringArray(t, field, value, annotationClass); } return t; - } - catch (InstantiationException e) { + } catch (InstantiationException e) { Logger.e(e); - } - catch (IllegalAccessException e) { + } catch (IllegalAccessException e) { Logger.e(e); - } - catch (InvocationTargetException e) { + } catch (InvocationTargetException e) { Logger.e(e); - } - catch (NoSuchMethodException e) { + } catch (NoSuchMethodException e) { Logger.e(e); } diff --git a/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java b/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java index da2579c..5109cf2 100644 --- a/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java +++ b/java-common-basic/src/test/java/common/basic/utils/ListUtilTestLegacy.java @@ -66,7 +66,6 @@ public void testFindAll() { } final List list10 = ListUtil.findAll(list, new IPredicator() { - @Override public boolean predicate(Integer integer) { return (integer % 10) == 0; } From e72df9297acdc141805ecfce264d0bb984cd1e41 Mon Sep 17 00:00:00 2001 From: silsol Date: Wed, 14 Nov 2018 15:01:05 +0900 Subject: [PATCH 40/44] JacksonUtil support Bigdecimal as float --- .../common/basic/facades/jsons/jackson/JacksonUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java b/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java index c28de35..f0a9179 100644 --- a/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java +++ b/java-common-basic/src/main/java/common/basic/facades/jsons/jackson/JacksonUtil.java @@ -18,12 +18,13 @@ import java.util.Map; public class JacksonUtil { - final static boolean catchLog = false; + static boolean catchLog = false; private static ObjectMapper createObjectMapper() { ObjectMapper objectMapper = new ObjectMapper(); // objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + objectMapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS); objectMapper.setVisibilityChecker(VisibilityChecker.Std.defaultInstance().withFieldVisibility(JsonAutoDetect.Visibility.ANY)); return objectMapper; @@ -210,7 +211,6 @@ public static List parseListCatches(InputStream json, Class clazz) { } } - public static Map toMap(String json) throws IOException { return createObjectMapper().readValue(json, new TypeReference>() { }); @@ -244,6 +244,9 @@ private static List> toListMap(String json) throws IOExcepti }); } + public static void setCatchLog(boolean value) { + catchLog = value; + } } From c7f06bd6474dafaacf7fd94860a2c4debd66a858 Mon Sep 17 00:00:00 2001 From: silsol Date: Thu, 22 Nov 2018 15:09:08 +0900 Subject: [PATCH 41/44] JacksonUtil support Bigdecimal as float --- java-common-basic/META-INF/MANIFEST.MF | 2 +- .../main/java/common/basic/utils/ReflectionUtil.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 655b8ec..6c332cd 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20170724.194000 +Library-Version: 1.0.20181114.150100 diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index bb1a57d..3cc5f2f 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -188,6 +188,17 @@ public static Object getValue(Object object, String fieldName) { } } + public static Object getValueByFieldName(Object object, String fieldName) { + try { + Field field = object.getClass().getField(fieldName); + return field.get(object); + } catch (IllegalAccessException e) { + return null; + } catch (NoSuchFieldException e) { + return null; + } + } + public static List getListFieldDeclaredRecursive(Class clazz) { List listField = new ArrayList(); listField.addAll(Arrays.asList(clazz.getDeclaredFields())); From 865e740f22aa5593462f7dbef929e36778e4a7f9 Mon Sep 17 00:00:00 2001 From: silsol Date: Sat, 13 Apr 2019 00:43:22 +0900 Subject: [PATCH 42/44] ListUtil add ES6 style --- .../basic/interfaces/ICallbackBoolean.java | 7 ++ .../basic/interfaces/ICallbackForEach.java | 7 ++ .../common/basic/interfaces/ICallbackMap.java | 7 ++ .../basic/interfaces/ICallbackReduce.java | 7 ++ .../java/common/basic/utils/ListUtil.java | 71 ++++++++++++++++++- 5 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackBoolean.java create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackForEach.java create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackMap.java create mode 100644 java-common-basic/src/main/java/common/basic/interfaces/ICallbackReduce.java diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBoolean.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBoolean.java new file mode 100644 index 0000000..a440e70 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackBoolean.java @@ -0,0 +1,7 @@ +package common.basic.interfaces; + +import java.util.List; + +public interface ICallbackBoolean { + boolean callback(T v, int i, List a); +} diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackForEach.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackForEach.java new file mode 100644 index 0000000..85dbeaf --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackForEach.java @@ -0,0 +1,7 @@ +package common.basic.interfaces; + +import java.util.List; + +public interface ICallbackForEach { + void callback(T v, int i, List a); +} diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackMap.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackMap.java new file mode 100644 index 0000000..a78039e --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackMap.java @@ -0,0 +1,7 @@ +package common.basic.interfaces; + +import java.util.List; + +public interface ICallbackMap { + F callback(T v, int i, List a); +} diff --git a/java-common-basic/src/main/java/common/basic/interfaces/ICallbackReduce.java b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackReduce.java new file mode 100644 index 0000000..c89e5b6 --- /dev/null +++ b/java-common-basic/src/main/java/common/basic/interfaces/ICallbackReduce.java @@ -0,0 +1,7 @@ +package common.basic.interfaces; + +import java.util.List; + +public interface ICallbackReduce { + F callback(F s, T v, int i, List a); +} diff --git a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java index 9e68d99..342366a 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ListUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ListUtil.java @@ -369,11 +369,80 @@ public static double sum(List list, ICallbackDouble callback) { return sum; } - public static BigDecimal sum(List list, ICallbackBigDecimal callback) { + public static BigDecimal sum(List list, ICallbackBigDecimal callback) { BigDecimal sum = BigDecimal.ZERO; for (T t : list) { sum = sum.add(callback.getValue(t)); } return sum; } + + + public static T find(List list, ICallbackBoolean callback) { + int i = 0; + for (T t : list) { + if (callback.callback(t, i++, list)) + return t; + } + return null; + } + + public static List filter(List list, ICallbackBoolean callback) { + List listT = new ArrayList(); + int i = 0; + for (T t : list) { + if (callback.callback(t, i++, list)) + listT.add(t); + } + return listT; + } + + public static void forEach(List list, ICallbackForEach callback) { + int i = 0; + for (T t : list) { + callback.callback(t, i++, list); + } + } + + public static List map(List list, ICallbackMap callback) { + List listF = new ArrayList(list.size()); + int i = 0; + for (T t : list) { + listF.add(callback.callback(t, i++, list)); + } + return listF; + } + + + public static F reduce(List list, ICallbackReduce callback, F init) { + int i = 0; + for (T t : list) { + init = callback.callback(init, t, i++, list); + } + return init; + } + + + public static boolean some(List list, ICallbackBoolean callback) { + int i = 0; + for (T t : list) { + if (callback.callback(t, i++, list)) + return true; + } + return false; + } + + + public static boolean every(List list, ICallbackBoolean callback) { + int i = 0; + for (T t : list) { + if (!callback.callback(t, i++, list)) + return false; + } + return true; + } + + + + } From 0ba54069baf55b7765f68a0ac5369da2d9f983b0 Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 10 Jun 2019 14:43:06 +0900 Subject: [PATCH 43/44] ReflectionUtil setDoubleByBigDecimal add --- java-common-basic/build.gradle | 2 +- .../src/main/java/common/basic/utils/IntUtil.java | 4 ++++ .../src/main/java/common/basic/utils/ReflectionUtil.java | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/java-common-basic/build.gradle b/java-common-basic/build.gradle index bbbc087..10a20f9 100644 --- a/java-common-basic/build.gradle +++ b/java-common-basic/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'java' apply plugin: 'groovy' //noinspection GroovyUnusedAssignment -sourceCompatibility = 1.5 +sourceCompatibility = 1.6 version = '1.0.' + getDate() repositories { diff --git a/java-common-basic/src/main/java/common/basic/utils/IntUtil.java b/java-common-basic/src/main/java/common/basic/utils/IntUtil.java index 14783b5..3dad540 100644 --- a/java-common-basic/src/main/java/common/basic/utils/IntUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/IntUtil.java @@ -29,4 +29,8 @@ private static List generateListRange(int from, int until) { return list; } + + public static int compare(int lf, int rf) { + return Integer.valueOf(lf).compareTo(rf); + } } diff --git a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java index 3cc5f2f..e3626b1 100644 --- a/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java +++ b/java-common-basic/src/main/java/common/basic/utils/ReflectionUtil.java @@ -11,6 +11,7 @@ import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -118,6 +119,8 @@ public static void setFieldValue(T instance, Field fie field.setFloat(instance, ((Double) value).floatValue()); } else if ("boolean".equals(type.getName())) { field.setBoolean(instance, BooleanUtil.parse(value.toString())); + } else if ("double".equals(type.getName()) && (value instanceof BigDecimal)) { + field.setDouble(instance, ((BigDecimal) value).doubleValue()); } else { field.set(instance, value); } From e471dfb004962b51b2d7472e010a83f241497f1b Mon Sep 17 00:00:00 2001 From: silsol Date: Mon, 10 Jun 2019 14:43:36 +0900 Subject: [PATCH 44/44] ReflectionUtil setDoubleByBigDecimal add --- java-common-basic/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-common-basic/META-INF/MANIFEST.MF b/java-common-basic/META-INF/MANIFEST.MF index 6c332cd..7ecafac 100644 --- a/java-common-basic/META-INF/MANIFEST.MF +++ b/java-common-basic/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Library-Version: 1.0.20181114.150100 +Library-Version: 1.0.20190601.144300