From 1c80354d80cdf4153e1bdaaf601ef71dd762fe66 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Mon, 11 Mar 2019 16:14:40 +0000 Subject: [PATCH] Added decoded base64 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/performfish-analytics-portlet@178532 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 6 ++-- .project | 10 +++--- .../com.gwtplugins.gdt.eclipse.core.prefs | 2 +- .settings/org.eclipse.wst.common.component | 2 +- .../PerformFishAnalyticsController.java | 33 ++++++++++++++----- .../client/view/util/DecodeParameterUtil.java | 30 +++++++++++++++++ 6 files changed, 64 insertions(+), 19 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/performfishanalytics/client/view/util/DecodeParameterUtil.java diff --git a/.classpath b/.classpath index 36b0e57..8dea696 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -35,5 +35,5 @@ - + diff --git a/.project b/.project index adc4262..ba62aee 100644 --- a/.project +++ b/.project @@ -35,11 +35,6 @@ - - org.eclipse.m2e.core.maven2Builder - - - com.gwtplugins.gdt.eclipse.core.webAppProjectValidator @@ -50,6 +45,11 @@ + + org.eclipse.m2e.core.maven2Builder + + + org.eclipse.jem.workbench.JavaEMFNature diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index f039d30..54a4067 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -lastWarOutDir=/home/francesco-mangiacrapa/eclipse-workspace/performfish-analytics-portlet-TRUNK/target/performfish-analytics-portlet-0.0.1-SNAPSHOT +lastWarOutDir=/home/francesco-mangiacrapa/eclipse-workspace/performfish-analytics-portlet/target/performfish-analytics-portlet-0.1.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 90ab436..4777faf 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java index 752627f..18892ac 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java @@ -29,6 +29,7 @@ import org.gcube.portlets.user.performfishanalytics.client.event.SelectedPopulat import org.gcube.portlets.user.performfishanalytics.client.event.SubmitRequestEvent; import org.gcube.portlets.user.performfishanalytics.client.event.SubmitRequestEventHandler; import org.gcube.portlets.user.performfishanalytics.client.view.LoaderIcon; +import org.gcube.portlets.user.performfishanalytics.client.view.util.DecodeParameterUtil; import org.gcube.portlets.user.performfishanalytics.client.viewbinder.AnalyticsPanelResult; import org.gcube.portlets.user.performfishanalytics.client.viewbinder.ShowResult; import org.gcube.portlets.user.performfishanalytics.client.viewbinder.SubmitRequestPanel; @@ -88,25 +89,39 @@ public class PerformFishAnalyticsController { Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { - - final String batchtypeParam = Window.Location.getParameter(PerformFishAnalyticsConstant.BATCHTYPE_PARAM); - final String farmidParam = Window.Location.getParameter(PerformFishAnalyticsConstant.FARMID_PARAM); + + Map initParams = new HashMap(); + for (String key : Window.Location.getParameterMap().keySet()) { + try { + String dKeY = DecodeParameterUtil.base64Decode(key); + String eValue = Window.Location.getParameter(key); + String dParam = DecodeParameterUtil.base64Decode(eValue); + initParams.put(dKeY, dParam); + } catch (Exception e) { + GWT.log("Error: "+e.getMessage()); + } + } + + GWT.log("Decoded parameters: "+initParams); + + final String batchtypeParam = initParams.get(PerformFishAnalyticsConstant.BATCHTYPE_PARAM); + final String farmidParam = initParams.get(PerformFishAnalyticsConstant.FARMID_PARAM); if(batchtypeParam==null || batchtypeParam.isEmpty()){ - Window.alert("You must pass a valid '"+PerformFishAnalyticsConstant.BATCHTYPE_PARAM+"' param"); + Window.alert("Error: no '"+PerformFishAnalyticsConstant.BATCHTYPE_PARAM+"' param detected"); return; } if(farmidParam==null || farmidParam.isEmpty()){ - Window.alert("You must pass a valid '"+PerformFishAnalyticsConstant.FARMID_PARAM+"' param"); + Window.alert("Error: no '"+PerformFishAnalyticsConstant.FARMID_PARAM+"' param detected"); return; } - PerformFishInitParameter initParams = new PerformFishInitParameter(); - initParams.addParameter(PerformFishAnalyticsConstant.BATCHTYPE_PARAM, batchtypeParam); - initParams.addParameter(PerformFishAnalyticsConstant.FARMID_PARAM, farmidParam); + PerformFishInitParameter performFishInitParams = new PerformFishInitParameter(); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.BATCHTYPE_PARAM, batchtypeParam); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.FARMID_PARAM, farmidParam); - PerformFishAnalyticsServiceAsync.Util.getInstance().decryptAndValidParameters(initParams, new AsyncCallback() { + PerformFishAnalyticsServiceAsync.Util.getInstance().decryptAndValidParameters(performFishInitParams, new AsyncCallback() { @Override public void onSuccess(PerformFishInitParameter result) { diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/view/util/DecodeParameterUtil.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/view/util/DecodeParameterUtil.java new file mode 100644 index 0000000..cbe2204 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/view/util/DecodeParameterUtil.java @@ -0,0 +1,30 @@ +package org.gcube.portlets.user.performfishanalytics.client.view.util; + + + +// TODO: Auto-generated Javadoc +/** + * The Class DecodeParameterUtil. + */ +public class DecodeParameterUtil { + + /** + * Base 64 decode. + * + * @param valueToDecode the value to decode + * @return the long + * @throws Exception the exception + */ + public static String base64Decode(String valueToDecode) throws Exception{ + try { + return b64decode(valueToDecode); + }catch (Exception e) { + throw new Exception("Error on decoding the parameter: "+ valueToDecode, e); + } + } + + private static native String b64decode(String a) /*-{ + return window.atob(a); + }-*/; + +}