Completato class router.

Implementata versione base della distribuzione collo V.
This commit is contained in:
Giuseppe Scorrano 2019-02-13 10:02:23 +01:00
parent f560fd7801
commit fcf1b03172
17 changed files with 113 additions and 114 deletions

Binary file not shown.

View File

@ -76,9 +76,6 @@ public class MainActivity extends AppCompatActivity
pop();
init();
BaseRouter.invokePath(BaseRouter.PATH.DISTRIBUZIONE_COLLO_V, null, null);
}

View File

@ -1,31 +1,10 @@
package it.integry.integrywmsnative;
import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.text.SpannableString;
import com.crashlytics.android.Crashlytics;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger;
import io.fabric.sdk.android.Fabric;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.context.AppContext;
import it.integry.integrywmsnative.core.exception.ExceptionsHandler;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.settings.Stash;
import it.integry.integrywmsnative.core.update.UpdatesManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.exception.DialogException;
public class MainApplication extends Application {
public static Resources res;

View File

@ -5,7 +5,6 @@ import android.util.Pair;
import com.orhanobut.logger.Logger;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
@ -14,7 +13,6 @@ import it.integry.integrywmsnative.core.class_router.exceptions.MethodParamsCoun
import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathAlreadyDeclaredException;
import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathNotRegisteredException;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class BaseRouter {
@ -89,8 +87,7 @@ public class BaseRouter {
methodDTO.getMethod().invoke(newInstance, params);
} catch (Exception ex) {
UtilityExceptions.defaultException(context, ex);
Logger.e(ex, ex.getMessage());
UtilityExceptions.defaultException(context, ex, true);
}
}

View File

@ -1,4 +1,4 @@
package it.integry.wms.dynamic_customization.interfaces;
package it.integry.integrywmsnative.core.class_router.interfaces;
import android.app.ProgressDialog;
@ -9,6 +9,6 @@ import it.integry.integrywmsnative.core.model.MtbColt;
public interface IOrdiniVendita {
void distribuisciCollo(ProgressDialog progress, RunnableArgs<List<MtbColt>> onComplete);
void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed);
}

View File

@ -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();
}
}
}

View File

@ -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);
}
}
}

View File

@ -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();

View File

@ -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<List<MtbColt>> tmpOnComplete = mtbColts -> {
if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
onComplete.run(mtbColts);
};
RunnableArgs<Exception> 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<MtbColt> mtbColtsToPrint) {

View File

@ -1,4 +1,4 @@
rem @echo off
@echo off
SET nome_azienda=%1

View File

@ -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')
}

View File

@ -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");

View File

@ -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<List<MtbColt>> onComplete) {
public void distribuisciCollo(ProgressDialog progress, MtbColt mtbColt, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in BaseFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,
onFailed);
}
}

View File

@ -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')
}

View File

@ -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");

View File

@ -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<List<MtbColt>> onComplete) {
UtilityToast.showToast("Avviato metodo in VGAlimentiFeature");
}
}

View File

@ -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<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
UtilityToast.showToast("Avviato metodo in VGAlimentiFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,
onFailed);
UtilityToast.showToast("CUMBIAAA");
}
}