diff --git a/.classpath b/.classpath index 8dea696..f83f87d 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -35,5 +35,5 @@ - + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 695e972..6fd3d23 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.1.0-SNAPSHOT +lastWarOutDir=/home/francesco-mangiacrapa/eclipse-workspace/performfish-analytics-portlet-TRUNK/target/performfish-analytics-portlet-0.2.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false \ No newline at end of file diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index b515a17..2ef44fc 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,10 +1,10 @@ - + - + diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishAnalyticsConstant.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishAnalyticsConstant.java index afce362..7a2ec74 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishAnalyticsConstant.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishAnalyticsConstant.java @@ -13,8 +13,9 @@ package org.gcube.portlets.user.performfishanalytics.client; */ public class PerformFishAnalyticsConstant { -// public static final String FARMID_PARAM = "farmid"; -// public static final String BATCHTYPE_PARAM = "batchtype"; + public static final String QUERY_STRING_FARMID_PARAM = "farmid"; + public static final String QUERY_STRING_BATCHTYPE_PARAM = "batchtype"; + public static final String QUERY_STRING_ANNUAL_PARAMETER = "annual"; // PERFORM-FISH SERVICE KEYS public static final String BATCHES_TABLE_INTERNAL = "BatchesTable_internal"; public static final String BATCHES_TABLE = "BatchesTable"; @@ -36,7 +37,7 @@ public class PerformFishAnalyticsConstant { public static final String PERFORM_FISH_FARMID_PARAM = "farmid"; public static final String PERFORM_FISH_BATCH_TYPE_PARAM = "batch_type"; public static final String PERFORM_FISH_SPECIES_ID_PARAM = "speciesid"; - public static final String PERFORM_FISH_ANNUAL_PARAMETER = "annual"; + public static final String DM_FOCUS_ID_ALL_VALUE = "ALL"; diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishQueryParameter.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishQueryParameter.java deleted file mode 100644 index 213f25b..0000000 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/PerformFishQueryParameter.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.gcube.portlets.user.performfishanalytics.client; - -// TODO: Auto-generated Javadoc -/** - * The Enum PerformFishQueryParameter. - */ -public enum PerformFishQueryParameter { - - farmid, - batchtype - - -// /** The farmid param. */ -// FARMID_PARAM("farmid"), -// -// /** The batchtype param. */ -// BATCHTYPE_PARAM("batchtype"); -// -// /** The id. */ -// private String id; -// -// /** -// * Instantiates a new perform fish query parameter. -// * -// * @param id the id -// */ -// PerformFishQueryParameter(String id){ -// this.id = id; -// } -// -// public String getId() { -// return id; -// } - -} 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 e4696de..2647f2c 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 @@ -104,54 +104,81 @@ public class PerformFishAnalyticsController { GWT.log("Decoded parameters: "+initParams); - final String annual = initParams.get(PerformFishAnalyticsConstant.PERFORM_FISH_ANNUAL_PARAMETER); + + final String farmidParam = initParams.get(PerformFishAnalyticsConstant.QUERY_STRING_FARMID_PARAM); + + if(farmidParam==null || farmidParam.isEmpty()){ + Window.alert("Error: no '"+PerformFishAnalyticsConstant.QUERY_STRING_FARMID_PARAM+"' param detected"); + return; + } + + final String annual = initParams.get(PerformFishAnalyticsConstant.QUERY_STRING_ANNUAL_PARAMETER); boolean isAnnualCall = false; try { isAnnualCall = Boolean.parseBoolean(annual); + GWT.log("Read decoded isAnnual at: "+isAnnualCall); }catch (Exception e) { - // TODO: handle exception + GWT.log("Forcing isAnnual at TRUE"); + isAnnualCall = false; } - final String farmidParam = initParams.get(PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM); - - if(farmidParam==null || farmidParam.isEmpty()){ - Window.alert("Error: no '"+PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM+"' param detected"); - return; - } - - - String batchtypeParam = initParams.get(PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM); - - if(batchtypeParam==null || batchtypeParam.isEmpty()){ - Window.alert("Error: no '"+PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM+"' param detected"); - return; - } + String batchtypeParam = initParams.get(PerformFishAnalyticsConstant.QUERY_STRING_BATCHTYPE_PARAM); + //IS ANNUAL CALL if(isAnnualCall) { + + //CALLING THE PORTLET WITH ANNUAL CONFIGURATION batchtypeParam = PerformFishAnalyticsConstant.BATCH_LEVEL.GROW_OUT_AGGREGATED_CLOSED_BATCHES.name(); GWT.log("Hard cabling batchtypeParam as: "+batchtypeParam); - } + + PerformFishInitParameter performFishInitParams = new PerformFishInitParameter(); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM, batchtypeParam); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM, farmidParam); + + PerformFishAnalyticsServiceAsync.Util.getInstance().validParameters(performFishInitParams, new AsyncCallback() { + + @Override + public void onSuccess(PerformFishInitParameter result) { + decryptParameters = result; + eventBus.fireEvent(new LoadPopulationTypeEvent(POPULATION_LEVEL.FARM.name(), null)); + } + + @Override + public void onFailure(Throwable caught) { + + Window.alert(caught.getMessage()); + } + }); + + }else { - PerformFishInitParameter performFishInitParams = new PerformFishInitParameter(); - performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM, batchtypeParam); - performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM, farmidParam); - - PerformFishAnalyticsServiceAsync.Util.getInstance().validParameters(performFishInitParams, new AsyncCallback() { - - @Override - public void onSuccess(PerformFishInitParameter result) { - decryptParameters = result; - eventBus.fireEvent(new LoadPopulationTypeEvent(POPULATION_LEVEL.BATCH.name(), null)); + //CALLING THE PORTLET WITHOUT ANNUAL CONFIGURATION + if(batchtypeParam==null || batchtypeParam.isEmpty()){ + Window.alert("Error: no '"+PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM+"' param detected"); + return; } - - @Override - public void onFailure(Throwable caught) { - - Window.alert(caught.getMessage()); - } - }); + + PerformFishInitParameter performFishInitParams = new PerformFishInitParameter(); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM, batchtypeParam); + performFishInitParams.addParameter(PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM, farmidParam); + + PerformFishAnalyticsServiceAsync.Util.getInstance().validParameters(performFishInitParams, new AsyncCallback() { + + @Override + public void onSuccess(PerformFishInitParameter result) { + decryptParameters = result; + eventBus.fireEvent(new LoadPopulationTypeEvent(POPULATION_LEVEL.BATCH.name(), null)); + } + + @Override + public void onFailure(Throwable caught) { + + Window.alert(caught.getMessage()); + } + }); + } } }); } diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsViewController.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsViewController.java index 7ef72fe..309ebcb 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsViewController.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsViewController.java @@ -7,9 +7,9 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import org.gcube.portlets.user.performfishanalytics.client.PerformFishAnalyticsConstant; import org.gcube.portlets.user.performfishanalytics.client.PerformFishAnalyticsConstant.POPULATION_LEVEL; import org.gcube.portlets.user.performfishanalytics.client.PerformFishAnalyticsServiceAsync; -import org.gcube.portlets.user.performfishanalytics.client.PerformFishQueryParameter; import org.gcube.portlets.user.performfishanalytics.client.view.BaseDockLayoutPanel; import org.gcube.portlets.user.performfishanalytics.client.view.BodyPanel; import org.gcube.portlets.user.performfishanalytics.client.view.CustomTreeModel; @@ -203,10 +203,11 @@ public class PerformFishAnalyticsViewController { @Override public void onSuccess(List result) { + GWT.log("Loaded list of "+PopulationType.class.getSimpleName()+ ": "+result); headerPage.showLoading(false); if(result.size()>0){ - String passedBatchType = decodedParameters.getParameters().get(PerformFishQueryParameter.batchtype.name()); + String passedBatchType = decodedParameters.getParameters().get(PerformFishAnalyticsConstant.PERFORM_FISH_BATCH_TYPE_PARAM); for (PopulationType populationType : result) { if(populationType.getName().compareToIgnoreCase(passedBatchType)==0){ diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java index e834e86..f256a8a 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java @@ -138,6 +138,7 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet new GenericPersistenceDaoBuilder( dbFactory, Population.class.getSimpleName()); List listPopulation = builderPopulation.getPersistenceEntity().getList(); + log.info("List of {} are: {}",Population.class.getSimpleName(),listPopulation); List listPopulationType; for (Population population : listPopulation) { if (population.getName().equalsIgnoreCase(populationName)) { @@ -329,10 +330,10 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet public PerformFishInitParameter validParameters(PerformFishInitParameter initParams) throws Exception{ Map inputParameters = initParams.getParameters(); - /*String farmID = inputParameters.get(PerformFishAnalyticsConstant.FARMID_PARAM); + String farmID = inputParameters.get(PerformFishAnalyticsConstant.PERFORM_FISH_FARMID_PARAM); boolean grantAccess = checkGrantToAccessFarmID(farmID); if(!grantAccess) - throw new Exception("You have no rights to access to this FARM. You does not belong to it.");*/ + throw new Exception("You have no rights to access to this FARM. You does not belong to it."); return initParams; diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/ToAvoidIndirectSerialization.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/ToAvoidIndirectSerialization.java index f2a0b23..3838dc0 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/ToAvoidIndirectSerialization.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/ToAvoidIndirectSerialization.java @@ -15,6 +15,7 @@ import org.gcube.portlets.user.performfishanalytics.shared.PopulationTypePropert import org.gcube.portlets.user.performfishanalytics.shared.Quarter; import org.gcube.portlets.user.performfishanalytics.shared.ReferencePopulationType; import org.gcube.portlets.user.performfishanalytics.shared.Species; +import org.gcube.portlets.user.performfishanalytics.shared.Year; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,12 +65,16 @@ public class ToAvoidIndirectSerialization { List listPeriod = populationType.getListPeriod(); populationType.setListPeriod((List) toListPopulationProperties(listPeriod, null)); + + List listYears = populationType.getListYears(); + populationType.setListYears((List) toListPopulationProperties(listYears, null)); }else{ populationType.setListSpecies(null); populationType.setListQuarter(null); populationType.setListArea(null); populationType.setListPeriod(null); + populationType.setListYears(null); } populationType.setListKPI(null); @@ -142,6 +147,8 @@ public class ToAvoidIndirectSerialization { return (T) new Quarter(object.getId(), object.getName(), object.getDescription(), type); }else if(object instanceof Period){ return (T) new Period(object.getId(), object.getName(), object.getDescription(), type); + }else if(object instanceof Year){ + return (T) new Year(object.getId(), ((Year) object).getValue(), type); }else if(object instanceof KPI){ KPI toKPI = (KPI) object; KPI gwtKPI = new KPI(toKPI.getId(),toKPI.getCode(),toKPI.getName(),toKPI.getDescription(), null,type,toKPI.getDeepIndex()); diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/util/database/FillDatabasePerBatchType.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/util/database/FillDatabasePerBatchType.java index 80ee014..6313daa 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/util/database/FillDatabasePerBatchType.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/util/database/FillDatabasePerBatchType.java @@ -57,7 +57,7 @@ public class FillDatabasePerBatchType { */ public static void printDatabaseData(EntityManagerFactory entityManagerFactory) throws Exception { - GenericPersistenceDaoBuilder builderPopulation = new GenericPersistenceDaoBuilder(entityManagerFactory, "Population"); + GenericPersistenceDaoBuilder builderPopulation = new GenericPersistenceDaoBuilder(entityManagerFactory, Population.class.getSimpleName()); for(Population population: builderPopulation.getPersistenceEntity().getList()){ log.debug("\n\n#### Population: "+population.getName()); @@ -195,7 +195,7 @@ public class FillDatabasePerBatchType { } //INSERTING BATCH LEVEL/POPULATIONS - GenericPersistenceDaoBuilder builderPopulation = new GenericPersistenceDaoBuilder(entityManagerFactory, "Population"); + GenericPersistenceDaoBuilder builderPopulation = new GenericPersistenceDaoBuilder(entityManagerFactory, Population.class.getSimpleName()); batchPopulation.setListPopulationType(new ArrayList(listBatchLevels)); builderPopulation.getPersistenceEntity().insert(batchPopulation); diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/PopulationType.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/PopulationType.java index 5f8a32a..7e17899 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/PopulationType.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/PopulationType.java @@ -69,8 +69,7 @@ public class PopulationType implements GenericDao, Serializable { @OrderColumn private List listKPI = new ArrayList(); - - @OneToMany(mappedBy = "populationType", orphanRemoval = true, cascade = CascadeType.PERSIST, fetch = FetchType.EAGER) + @OneToMany(mappedBy = "populationType", orphanRemoval = true, cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) @CascadeOnDelete @OrderColumn private List listYears = new ArrayList(); diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/Year.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/Year.java index 4fc4c0e..199fbc1 100644 --- a/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/Year.java +++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/shared/Year.java @@ -18,7 +18,7 @@ import org.eclipse.persistence.annotations.CascadeOnDelete; */ @Entity @CascadeOnDelete -public class Year implements GenericDao, ReferencePopulationType, Serializable{ +public class Year implements GenericDao, ReferencePopulationType, PopulationTypeProperties, Serializable{ /** * @@ -54,8 +54,34 @@ public class Year implements GenericDao, ReferencePopulationType, Serializable{ this.value = value; this.populationType = populationType; } + + @Override + public int getInternalId() { + return internalId; + } + + @Override + public String getName() { + return value; + } + + @Override + public String getDescription() { + return value; + } + + @Override + public void setName(String name) { + setValue(name); + } + @Override + public void setDescription(String description) { + //empty + } + + /* (non-Javadoc) * @see org.gcube.portles.user.performfishannual.shared.GenericDao#getId() */ @@ -82,6 +108,7 @@ public class Year implements GenericDao, ReferencePopulationType, Serializable{ public String getValue() { return value; } + /** @@ -124,6 +151,4 @@ public class Year implements GenericDao, ReferencePopulationType, Serializable{ builder.append("]"); return builder.toString(); } - - }