summaryrefslogtreecommitdiffstats
path: root/appmarket-utils/src/main/java/app/market/utils/Utils.java
diff options
context:
space:
mode:
Diffstat (limited to 'appmarket-utils/src/main/java/app/market/utils/Utils.java')
-rw-r--r--appmarket-utils/src/main/java/app/market/utils/Utils.java136
1 files changed, 136 insertions, 0 deletions
diff --git a/appmarket-utils/src/main/java/app/market/utils/Utils.java b/appmarket-utils/src/main/java/app/market/utils/Utils.java
new file mode 100644
index 0000000..c0a1474
--- /dev/null
+++ b/appmarket-utils/src/main/java/app/market/utils/Utils.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package app.market.utils;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
+
+import app.market.utils.constants.Constants;
+import app.market.utils.datetime.DateTimeUtils;
+
+/**
+ * tools
+ *
+ * @author Toyota
+ * @date 2017/10/10
+ */
+public class Utils {
+
+ /**
+ * Entity converter
+ *
+ * @see set in/out class
+ *
+ * @param org
+ * @param dest
+ * @throws NoSuchFieldException
+ * @throws SecurityException
+ * @throws IllegalArgumentException
+ * @throws IllegalAccessException
+ */
+ public static void reflect(Object org, Object dest) throws Exception {
+ Class<?> orgClass = org.getClass();
+ Class<?> destClass = dest.getClass();
+
+ for (Field orgField : orgClass.getDeclaredFields()) {
+ orgField.setAccessible( true );
+ String orgFieldName = orgField.getName();
+ if ( "serialVersionUID".equals( orgFieldName ) ) {
+ continue;
+ }
+ Field destField;
+ try {
+ destField = destClass.getDeclaredField( orgFieldName );
+ } catch ( NoSuchFieldException e ) {
+ continue;
+ }
+ destField.setAccessible( true );
+ if ( ( orgField.getType().getName().equals( "java.lang.Integer" )
+ || orgField.getType().getName().equals( "int" ) ) && orgField.get( org ) != null ) {
+ if ( destField.getType().getName().equals( "java.lang.String" ) ) {
+ destField.set( dest, String.valueOf( orgField.get( org ) ) );
+ } else {
+ destField.set( dest, orgField.get( org ) );
+ }
+ } else if ( orgField.getType().getName().equals( "java.util.Date" ) && orgField.get( org ) != null ) {
+ // to string
+ if ( destField.getType().getName().equals( "java.lang.String" ) ) {
+ destField.set( dest, DateTimeUtils.getDate( DateTimeUtils.DATE_FORMAT_YYYYMMDDHHMMSS,
+ (Date) orgField.get( org ) ) );
+ } else {
+ destField.set( dest, (Date) orgField.get( org ) );
+ }
+ } else if ( orgField.getType().getName().equals( "java.util.List" ) ) {
+ for (int i = 0; i < ( (ArrayList<?>) orgField.get( org ) ).size(); i++) {
+ Object orgItem = ( (ArrayList<?>) orgField.get( org ) ).get( i );
+ Type destItemType = ( (ParameterizedType) destField.getGenericType() ).getActualTypeArguments()[0];
+ Object destItem = ( Class.forName( destItemType.getTypeName() ) ).newInstance();
+ reflect( orgItem, destItem );
+ ( (ArrayList<Object>) destField.get( dest ) ).add( destItem );
+ }
+ } else {
+ if ( destField.getType().getName().equals( "java.util.Date" ) && orgField.get( org ) != null
+ && StringUtils.isNotEmpty( orgField.get( org ).toString() ) ) {
+ destField.set( dest, DateTimeUtils.getDate( DateTimeUtils.DATE_FORMAT_YYYYMMDD,
+ orgField.get( org ).toString() ) );
+ } else {
+ if ( destField.getType().getName().equals( orgField.getType().getName() ) ) {
+ destField.set( dest, orgField.get( org ) );
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Get UUID
+ *
+ * @return
+ */
+ public static String generatorUUID() {
+ return UUID.randomUUID().toString();
+ }
+
+ public static boolean strIsEmpty(String s) {
+ if (s == null || "".equals(s)) {
+ return true;
+ }
+ return false;
+ }
+
+ /***
+ * Get file name from path
+ * @param filePath
+ * @return succeed, return file name
+ * failed, return null
+ */
+ public static String getFileNameFromPath(String filePath) {
+ String ret = "";
+ try{
+ ret = filePath.substring(filePath.lastIndexOf(Constants.PATH_SEPARATOR) + 1);
+ }catch (Exception e){
+ e.printStackTrace();
+ return null;
+ }
+ return ret;
+ }
+}