From fcf1b03172518e75d644f11c721e9990a1c49993 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Wed, 13 Feb 2019 10:02:23 +0100 Subject: [PATCH] Completato class router. Implementata versione base della distribuzione collo V. --- .idea/caches/build_file_checksums.ser | Bin 844 -> 844 bytes .../integrywmsnative/MainActivity.java | 3 -- .../integrywmsnative/MainApplication.java | 21 ------------ .../core/class_router/BaseRouter.java | 5 +-- .../interfaces/IOrdiniVendita.java | 4 +-- .../core/context/AppContext.java | 29 ---------------- .../core/context/MainContext.java | 31 +++++++++++++++++- .../core/utility/UtilityExceptions.java | 7 +++- .../VenditaOrdineInevasoViewModel.java | 24 ++++++++++---- build_azienda.bat | 2 +- dynamic__base/build.gradle | 10 +++--- .../dynamic_customization/DynamicContext.java | 8 +++-- .../dynamic_customization/OrdiniVendita.java | 11 +++++-- dynamic_vgalimenti/build.gradle | 9 ----- .../dynamic_customization/DynamicContext.java | 14 +++++--- .../dynamic_customization/OrdineVendita.java | 22 ------------- .../dynamic_customization/OrdiniVendita.java | 27 +++++++++++++++ 17 files changed, 113 insertions(+), 114 deletions(-) rename {dynamic__base/src/main/java/it/integry/wms/dynamic_customization => app/src/main/java/it/integry/integrywmsnative/core/class_router}/interfaces/IOrdiniVendita.java (51%) delete mode 100644 dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java create mode 100644 dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index fbb5478042977692cbcd2a28768ffb3022229d9f..75fc2341c441baf3071d380429c65576c59077fe 100644 GIT binary patch delta 57 zcmV-90LK5!2FwPKm;~kp1w)aXzYw_$?v$1$zAx9&FDBge@Km#F0VDws;+%jnjR3NZ PU`>9g@$qEBlb-^u@s%45 delta 57 zcmV-90LK5!2FwPKm;~V%i~*6HzYy@dM~aX~ZI{sOEjGE~AbhiH0VDwszAtDRp@FHX Pn)bE+>ufs> onComplete); + void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java index 5f104f5c..2586a474 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java @@ -3,17 +3,13 @@ package it.integry.integrywmsnative.core.context; import android.content.Context; import com.crashlytics.android.Crashlytics; -import com.danielpuiu.ghostfish.GhostFish; import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.Logger; -import java.lang.reflect.Method; - import io.fabric.sdk.android.Fabric; import it.integry.integrywmsnative.BuildConfig; import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; -import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.data_recover.ColliDataRecover; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.Stash; @@ -46,8 +42,6 @@ public class AppContext { this.initLogger(); this.initRecoverColli(); - - this.initReflections(); } @@ -91,28 +85,5 @@ public class AppContext { ColliDataRecover.init(mContext); } - private void initReflections() { - GhostFish.create(mContext); - - try { - - String initMethod = "init"; - - Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext"); - - Method[] methods = dynamicContextClass.getMethods(); - for (Method m : methods) { - if (initMethod.equals(m.getName())) { - // for static methods we can use null as instance of class - m.invoke(null); - break; - } - } - - } catch (Exception e) { - e.printStackTrace(); - } - - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java index c38f78af..5a037cfb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java @@ -4,9 +4,14 @@ import android.content.Context; import android.text.SpannableString; import android.util.Log; +import com.orhanobut.logger.Logger; + +import java.lang.reflect.Method; + import androidx.appcompat.app.AppCompatActivity; import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper; public class MainContext { @@ -23,7 +28,7 @@ public class MainContext { onContextInitialized.run(); }); - BaseRouter.init(mContext); + this.initReflections(); } @@ -35,4 +40,28 @@ public class MainContext { ); } + private void initReflections() { + BaseRouter.init(mContext); + + try { + String initMethod = "init"; + + Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext"); + + Method[] methods = dynamicContextClass.getMethods(); + for (Method m : methods) { + if (initMethod.equals(m.getName())) { + // for static methods we can use null as instance of class + final Object newInstance = dynamicContextClass.newInstance(); + + m.invoke(newInstance, (Context) mContext); + break; + } + } + + } catch (Exception e) { + UtilityExceptions.defaultException(mContext, e, true); + } + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java index b1026973..20f1f45a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java @@ -30,7 +30,12 @@ public class UtilityExceptions { public static void defaultException(Context context, Exception ex, boolean sendEmail){ - Logger.e(ex, ex.getMessage()); + if(ex.getMessage() != null) { + Logger.e(ex, ex.getMessage()); + } else { + Logger.e(ex, "Errore"); + } + String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); if(errorMessage == null) errorMessage = ex.getMessage(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java index c626b627..bde16f4c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java @@ -28,6 +28,7 @@ import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer; import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; +import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.data_recover.ColliDataRecover; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.CommonModelConsts; @@ -825,12 +826,23 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone(); - ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), - mtbColts -> { - if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); - onComplete.run(mtbColts); - }, - ex -> UtilityExceptions.defaultException(mActivity, ex, progress)); + RunnableArgs> tmpOnComplete = mtbColts -> { + if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); + onComplete.run(mtbColts); + }; + + RunnableArgs tmpOnFailed = ex -> { + UtilityExceptions.defaultException(mActivity, ex, progress); + }; + + BaseRouter.invokePath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, progress, cloneMtbColt, tmpOnComplete, tmpOnFailed); + +// ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), +// mtbColts -> { +// if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID); +// onComplete.run(mtbColts); +// }, +// ex -> UtilityExceptions.defaultException(mActivity, ex, progress)); } private void printCollo(ProgressDialog progress, List mtbColtsToPrint) { diff --git a/build_azienda.bat b/build_azienda.bat index 04f75b5f..2df274f1 100644 --- a/build_azienda.bat +++ b/build_azienda.bat @@ -1,4 +1,4 @@ -rem @echo off +@echo off SET nome_azienda=%1 diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle index 420b6a5c..98b5b5ba 100644 --- a/dynamic__base/build.gradle +++ b/dynamic__base/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.dynamic-feature' android { compileSdkVersion 28 - + defaultConfig { @@ -13,11 +13,13 @@ android { } - - + compileOptions { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + } } dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':app') } diff --git a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java index 112cabf5..a198e89a 100644 --- a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java +++ b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java @@ -1,20 +1,22 @@ package it.integry.wms.dynamic_customization; +import android.content.Context; import android.util.Log; import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.class_router.MethodDTO; import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; public class DynamicContext { - public static void init() { + public void init(Context context) { Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE"); try { BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdiniVendita.class, "distribuisciCollo")); - } catch (MethodPathAlreadyDeclaredException ex) { - + } catch (Exception ex) { + UtilityExceptions.defaultException(context, ex); } Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda BASE COMPLETATO"); diff --git a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java index aa5c54cb..1d774842 100644 --- a/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java +++ b/dynamic__base/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java @@ -1,20 +1,25 @@ package it.integry.wms.dynamic_customization; import android.app.ProgressDialog; -import android.util.Log; import java.util.List; +import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityToast; -import it.integry.wms.dynamic_customization.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; public class OrdiniVendita implements IOrdiniVendita { @Override - public void distribuisciCollo(ProgressDialog progress, RunnableArgs> onComplete) { + public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed) { UtilityToast.showToast("Avviato metodo in BaseFeature"); + + ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), + onComplete, + onFailed); } } diff --git a/dynamic_vgalimenti/build.gradle b/dynamic_vgalimenti/build.gradle index 01c59209..44c3d297 100644 --- a/dynamic_vgalimenti/build.gradle +++ b/dynamic_vgalimenti/build.gradle @@ -1,14 +1,6 @@ apply plugin: 'com.android.dynamic-feature' android { - signingConfigs { - release { - keyAlias 'wms key' - keyPassword 'inpmiy' - storeFile file('Integry.jks') - storePassword 'inpmiy' - } - } compileSdkVersion 28 defaultConfig { minSdkVersion 21 @@ -28,5 +20,4 @@ android { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':app') - implementation project(':dynamic__base') } diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java index a3cc0927..e58f6ead 100644 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java @@ -1,21 +1,25 @@ package it.integry.wms.dynamic_customization; +import android.content.Context; import android.util.Log; +import java.util.logging.Logger; + import it.integry.integrywmsnative.core.class_router.BaseRouter; import it.integry.integrywmsnative.core.class_router.MethodDTO; import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityLogger; public class DynamicContext { - public static void init() { + public void init(Context context) { Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti"); try { - BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdineVendita.class, "distribuisciCollo")); - - } catch (MethodPathAlreadyDeclaredException ex) { - + BaseRouter.registerPath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, MethodDTO.fromName(OrdiniVendita.class, "distribuisciCollo")); + } catch (Exception ex) { + UtilityExceptions.defaultException(context, ex); } Log.d("DynamicContext", "Caricamento personalizzazioni per VGAlimenti COMPLETATO"); diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java deleted file mode 100644 index e68a2545..00000000 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdineVendita.java +++ /dev/null @@ -1,22 +0,0 @@ -package it.integry.wms.dynamic_customization; - -import android.app.ProgressDialog; -import android.content.Context; -import android.util.Log; -import android.widget.Toast; - -import java.util.List; - -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.utility.UtilityToast; -import it.integry.wms.dynamic_customization.interfaces.IOrdiniVendita; - -public class OrdineVendita implements IOrdiniVendita { - - @Override - public void distribuisciCollo(ProgressDialog progress, RunnableArgs> onComplete) { - UtilityToast.showToast("Avviato metodo in VGAlimentiFeature"); - - } -} diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java new file mode 100644 index 00000000..098fb200 --- /dev/null +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/OrdiniVendita.java @@ -0,0 +1,27 @@ +package it.integry.wms.dynamic_customization; + +import android.app.ProgressDialog; + +import java.util.List; + +import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityToast; + +public class OrdiniVendita implements IOrdiniVendita { + + @Override + public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs> onComplete, RunnableArgs onFailed) { + UtilityToast.showToast("Avviato metodo in VGAlimentiFeature"); + + ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(), + onComplete, + onFailed); + + + UtilityToast.showToast("CUMBIAAA"); + } +}