From 7822e080af24f089013c1e88552a1cf1777315ef Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Wed, 22 Jul 2015 15:19:38 +0000 Subject: [PATCH] Removed unused code Added check to avoid Timeout and Null row fetched (max attempts 5) git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/speciesdiscovery@117433 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/SearchController.java | 12 +- .../client/SpeciesSearchFormPanel.java | 21 +- .../job/occurrence/OccurrenceGridJob.java | 3 - .../occurrence/OccurrenceJobSpeciesPanel.java | 148 ++--- .../OccurrenceJobSpeciesProgressBar.java | 27 - .../TaxonomyJobSpeciesProgressBar.java | 2 - .../server/TaxonomySearchServiceImpl.java | 613 +++++------------- .../server/session/Fetcher.java | 46 +- .../server/session/FetchingSession.java | 14 +- 9 files changed, 276 insertions(+), 610 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SearchController.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SearchController.java index 6abd1d5..fe9e8b0 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SearchController.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SearchController.java @@ -930,7 +930,7 @@ public class SearchController { case DARWIN_CORE: fileName += ".xml"; break; } - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+fileFormat.toString()+" As... ", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+fileFormat.toString()+" As... ", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @@ -1001,7 +1001,7 @@ public class SearchController { private void saveTaxonomyJobErrorFile() { - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save the file with job Error/s As...", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save the file with job Error/s As...", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @@ -1056,7 +1056,7 @@ public class SearchController { String fileName = jobTaxonomyModel.getName() +" from "+dataSourceName+" - DWCA.zip"; - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save DWCA As...", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save DWCA As...", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @@ -1139,7 +1139,7 @@ public class SearchController { private void saveOccurrenceJobError() { - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save the Error File As...", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save the Error File As...", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @@ -1217,7 +1217,7 @@ public class SearchController { String fileName = jobOccurrencesModel.getJobName() +" from "+dataSourceName+" - "+suffix+"."+extension; final String dataSources = dataSourceName; - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+jobOccurrencesModel.getFileFormat().toString() +" As...", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+jobOccurrencesModel.getFileFormat().toString() +" As...", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @Override @@ -1308,7 +1308,7 @@ public class SearchController { case DARWIN_CORE_ARCHIVE: fileName += ".zip"; break; } - final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+fileFormat.toString() +" As...", fileName, true); + final WorkspaceExplorerSaveDialog navigator = new WorkspaceExplorerSaveDialog("Save "+fileFormat.toString() +" As...", fileName, false); WorskpaceExplorerSaveNotificationListener listener = new WorskpaceExplorerSaveNotificationListener(){ @Override diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SpeciesSearchFormPanel.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SpeciesSearchFormPanel.java index 92b4781..274deda 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SpeciesSearchFormPanel.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/SpeciesSearchFormPanel.java @@ -41,7 +41,6 @@ import com.extjs.gxt.ui.client.widget.form.SimpleComboValue; import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; -import com.google.gwt.core.shared.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.KeyCodes; @@ -491,7 +490,6 @@ public class SpeciesSearchFormPanel extends ContentPanel { String searchTerm = searchField.getValue(); if (buttSimpleSearch.isEnabled() && searchTerm!=null && searchTerm.length()!=0) { - GWT.log("search..."); // if(isActiveAdvanced){ search(searchTerm, advSearchPanelsManager.getUpperBoundLatitudeField().getValue(), @@ -514,26 +512,9 @@ public class SpeciesSearchFormPanel extends ContentPanel { protected void search(String searchTerm, Number upperBoundLongitude, Number upperBoundLatitude, Number lowerBoundLongitude, Number lowerBoundLatitude, Date fromDate, Date toDate, List listDataSources, String groupRank, SpeciesCapability resultType, List listDataSourceForSynonyms, List listDataSourceForUnfold) { - GWT.log("Searching..."); mask("Searching..."); //searchButton.setEnabled(false); - - /* - GWT.log(searchTerm); - GWT.log(upperBoundLongitude!=null?upperBoundLongitude.toString():"upperBoundLongitude"); - GWT.log(upperBoundLatitude!=null? upperBoundLatitude.toString():"upperBoundLatitude"); - GWT.log(lowerBoundLongitude!=null? lowerBoundLongitude.toString():"lowerBoundLongitude"); - GWT.log(lowerBoundLatitude!=null? lowerBoundLatitude.toString():"lowerBoundLatitude"); - GWT.log(fromDate!=null? fromDate.toString():"fromDate"); - GWT.log(toDate!=null? toDate.toString():"toDate"); - for (DataSourceModel dataSourceModel : listDataSources) { - GWT.log(dataSourceModel.toString()); - } - GWT.log(groupRank); - GWT.log(resultType.toString()); - GWT.log(listDataSourceForSynonyms!=null?listDataSourceForSynonyms.toString():""); - GWT.log(listDataSourceForUnfold!=null?listDataSourceForUnfold.toString():""); - */ + SearchType type = null; if (ConstantsSpeciesDiscovery.SCIENTIFIC_NAME.equals(searchType.getSimpleValue())) type = SearchType.BY_SCIENTIFIC_NAME; if (ConstantsSpeciesDiscovery.COMMON_NAME.equals(searchType.getSimpleValue())) type = SearchType.BY_COMMON_NAME; diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceGridJob.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceGridJob.java index 6e03432..ea8ba6c 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceGridJob.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceGridJob.java @@ -442,15 +442,12 @@ public class OccurrenceGridJob extends ContentPanel{ else{ String name = baseModelData.get(JobTaxonomyModel.JOBNAME); MessageBox.alert(INFO, "The job "+ name+ " " + ConstantsSpeciesDiscovery.CAN_NOT_BE_RE_SUBMITTED_UNTIL_IT_HAS_COMPLETED, null); - - } } } private void createGridToolBar(){ - buttonInfo = new Button(INFO); buttonInfo.setScale(ButtonScale.MEDIUM); diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesPanel.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesPanel.java index 576a80f..73db66b 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesPanel.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesPanel.java @@ -17,8 +17,9 @@ import com.google.gwt.event.shared.EventBus; import com.google.gwt.user.client.ui.AbstractImagePrototype; /** - * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * The Class OccurrenceJobSpeciesPanel. * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it */ public class OccurrenceJobSpeciesPanel extends ContentPanel { @@ -48,12 +49,23 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { protected Window speciesJobWindow = new Window(); + /** + * Gets the single instance of OccurrenceJobSpeciesPanel. + * + * @param eventBus the event bus + * @return single instance of OccurrenceJobSpeciesPanel + */ public static synchronized OccurrenceJobSpeciesPanel getInstance(EventBus eventBus) { if (instance == null) instance = new OccurrenceJobSpeciesPanel(eventBus); return instance; } + /** + * Instantiates a new occurrence job species panel. + * + * @param eventBus the event bus + */ private OccurrenceJobSpeciesPanel(EventBus eventBus) { this.eventBus = eventBus; this.gridJob = new OccurrenceGridJob(eventBus); @@ -64,6 +76,9 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { // createToolBar(); } + /** + * Creates the species job window. + */ private void createSpeciesJobWindow(){ lc = new LayoutContainer(); @@ -84,10 +99,9 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { lastOperation.setHtml(LASTOPERATION + OPERATIONONE); -// cp.add(vp); lc.add(lastOperation); lc.add(cp); -// + speciesJobWindow.setHeading(WINDOWTITLE); speciesJobWindow.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.getBluePlace16px())); speciesJobWindow.setSize(1020, 600); @@ -96,50 +110,29 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { speciesJobWindow.add(lc); } -// private void createToolBar(){ -// ToolBar toolbar = new ToolBar(); -// -// Button btnJobs = new Button("Species Jobs"); -// btnJobs.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.getJob())); -// -// btnJobs.addSelectionListener(new SelectionListener() { -// -// @Override -// public void componentSelected(ButtonEvent ce) { -// -// speciesJobWindow.show(); -// } -// -// }); -// toolbar.add(btnJobs); -// this.setTopComponent(toolbar); -// } - + /** - * - * @param jobsModel - * @return true if almost one progress bar is ongoing + * Adds the list job. + * + * @param jobsModel the jobs model */ - public boolean addListJob(List jobsModel){ - - boolean isLoading = false; - - for(final JobOccurrencesModel jobModel : jobsModel){ - - isLoading = addJob(jobModel); - } - - return isLoading; - + public void addListJob(List jobsModel){ + + for(final JobOccurrencesModel jobModel : jobsModel) + addJob(jobModel); } + /** + * Adds the job. + * + * @param jobModel the job model + * @return true, if successful + */ public boolean addJob(final JobOccurrencesModel jobModel){ boolean isLoading = false; -// Log.trace("add job :" +jobModel); - OccurrenceJobSpeciesProgressBar jobsBar = hashProgressBars.get(jobModel.getJobIdentifier()); if(jobsBar!=null){ //is update @@ -158,23 +151,15 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { // Log.trace("jobsBar " +jobModel.getName() + " completed, return" ); return true; } - - - updateProgressBarView(jobsBar, jobModel); - - gridJob.updateStatus(jobModel, jobsBar); + updateProgressBarView(jobsBar, jobModel); + gridJob.updateStatus(jobModel, jobsBar); } else{ //create new grid item that contains new progress bar - - + OccurrenceJobSpeciesProgressBar jobProgressBar = new OccurrenceJobSpeciesProgressBar(jobModel.getJobIdentifier(), jobModel.getDownloadState().toString()); - gridJob.addJobIntoGrid(jobModel, jobProgressBar); - updateProgressBarView(jobProgressBar, jobModel); - -// hashTableContentPanels.put(jobModel.getIdentifier(), panelTable); //add contentPanel into hashTableContentPanels hashProgressBars.put(jobModel.getJobIdentifier(), jobProgressBar); //add progressBar into hashProgressBars hashLoadCompletedNotify.put(jobModel.getJobIdentifier(), false); //add false (at load completed event) into hashLoadCompletedNotify } @@ -186,6 +171,13 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { } + /** + * Update progress bar view. + * + * @param jobsBar the jobs bar + * @param jobModel the job model + * @return true, if successful + */ private boolean updateProgressBarView(OccurrenceJobSpeciesProgressBar jobsBar, JobOccurrencesModel jobModel){ switch (jobModel.getDownloadState()) { @@ -198,7 +190,6 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { case SAVING:{ lastOperation.setHtml(LASTOPERATION + jobModel.getJobName() + " saving"); jobsBar.getElement().getStyle().setBorderColor("#7093DB"); -// jobsBar.progressStart(); jobsBar.setProgressText(SAVING); break; } @@ -206,13 +197,10 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { case COMPLETED:{ lastOperation.setHtml(LASTOPERATION + jobModel.getJobName() + " completed"); - jobsBar.getElement().getStyle().setBorderColor("#000000"); -// jobsBar.progressStop(); jobsBar.updateProgressWithoutPercentage(100); jobsBar.setCompleted(true); jobsBar.updateText(COMPLETED); - break; } @@ -224,23 +212,16 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { jobsBar.setProgressText(SAVING); jobsBar.updateProgressWithPercentage(jobModel.getPercentage()); - -// jobsBar.progressStart(); - return true; } case SAVED:{ lastOperation.setHtml(LASTOPERATION + jobModel.getJobName() + " saved"); - jobsBar.getElement().getStyle().setBorderColor("#000000"); -// jobsBar.progressStop(); jobsBar.updateProgressWithoutPercentage(100); -// jobsBar.updateProgressWithPercentage(jobModel.getPercentage(), jobModel.getDownloadState().toString()); jobsBar.setCompleted(true); jobsBar.updateText(COMPLETED); - break; } @@ -248,19 +229,16 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { jobsBar.getElement().getStyle().setBorderColor("#f00"); jobsBar.updateText("loading " + jobModel.getJobName() + " with failures"); - break; } case FAILED:{ jobsBar.getElement().getStyle().setBorderColor("#f00"); -// jobsBar.progressStop(); jobsBar.setProgressText(FAILED); jobsBar.updateProgressWithPercentage(jobModel.getPercentage()); jobsBar.setCompleted(true); jobsBar.updateText(FAILED); - break; } @@ -270,57 +248,50 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { jobsBar.updateText("loading " + jobModel.getJobName() + " with failures"); jobsBar.updateProgressWithoutPercentage(100); jobsBar.setCompleted(true); - break; } } - - return false; + return false; } + /** + * Removes the species job. + * + * @param hashHPKey the hash hp key + */ public void removeSpeciesJob(String hashHPKey) { - ContentPanel cp = hashTableContentPanels.get(hashHPKey); - vp.remove(cp); lastOperation.setHtml(LASTOPERATION + cp.getId() + " deleted"); hashProgressBars.remove(hashHPKey); //remove progress bar from hash hashTableContentPanels.remove(hashHPKey); //remove hp from hash hashLoadCompletedNotify.remove(hashHPKey); //remove notify event - vp.layout(); - } + /** + * Delete progress completed. + * + * @param progressIdFound the progress id found + */ @SuppressWarnings("unused") private void deleteProgressCompleted(List progressIdFound){ List progressIdNotFound = new ArrayList(); for(String key : hashTableContentPanels.keySet()){ - -// System.out.println("Key " + key ); - if(!progressIdFound.contains(key)){ //if key isn't not found - progress is completed so is removed - -// System.out.println("Key is not present " + key ); - OccurrenceJobSpeciesProgressBar bulkPB = hashProgressBars.get(key); lastOperation.setHtml(LASTOPERATION + bulkPB.getProgressText() + " uploading completed"); - -// bulkPB.updateProgress(100); progressIdNotFound.add(key); } } for(String key : progressIdNotFound){ - OccurrenceJobSpeciesProgressBar bulkPB = hashProgressBars.get(key); lastOperation.setHtml(LASTOPERATION + bulkPB.getProgressText() + " uploading completed"); - -// vp.remove(hashHorizontalPanels.get(key)); //remove hp from view hashProgressBars.remove(key); //remove progress bar from hash hashTableContentPanels.remove(key); //remove hp from hash } @@ -329,10 +300,18 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { cp.layout(); } + /** + * Gets the species job window. + * + * @return the species job window + */ public Window getSpeciesJobWindow() { return speciesJobWindow; } + /** + * Reset structures. + */ public void resetStructures(){ this.gridJob.resetStore(); @@ -343,10 +322,13 @@ public class OccurrenceJobSpeciesPanel extends ContentPanel { hashLoadCompletedNotify.clear(); } + /** + * Gets the grid job. + * + * @return the grid job + */ public OccurrenceGridJob getGridJob() { return gridJob; } - - } diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesProgressBar.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesProgressBar.java index 3df8d51..3b47a79 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesProgressBar.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/occurrence/OccurrenceJobSpeciesProgressBar.java @@ -6,41 +6,14 @@ public class OccurrenceJobSpeciesProgressBar extends ProgressBar { private String progressText; private float progress; -// private final Timer timer; private boolean isCompleted = false; public OccurrenceJobSpeciesProgressBar(String idJob, final String text) { this.progressText = text; setSize(140, 20); - updateProgress(progress, text); - -// timer = new Timer() { -// float i; -// -// @Override -// public void run() { -// updateProgress(i / 100, progressText); -// i += 5; -// if (i > 105) { -// if(!isCompleted) -// i = 0; -// } -// } -// }; } -/* - public void progressStart(){ - timer.scheduleRepeating(500); - } - - public void progressStop(){ - timer.cancel(); - } - - */ - public void updateProgressWithoutPercentage(float counter) { progress = counter / 100; updateProgress(progress, progressText); diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/taxonomy/TaxonomyJobSpeciesProgressBar.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/taxonomy/TaxonomyJobSpeciesProgressBar.java index c55bc7f..5db7a53 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/taxonomy/TaxonomyJobSpeciesProgressBar.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/job/taxonomy/TaxonomyJobSpeciesProgressBar.java @@ -14,8 +14,6 @@ public class TaxonomyJobSpeciesProgressBar extends ProgressBar { this.progressText = text; setSize(240, 20); -// setBounds(10, 10, 200, Style.DEFAULT); - updateProgress(progress, text); timer = new Timer() { diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomySearchServiceImpl.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomySearchServiceImpl.java index 1e44839..99b524c 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomySearchServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomySearchServiceImpl.java @@ -23,7 +23,6 @@ import javax.persistence.criteria.Predicate; import net.sf.csv4j.CSVWriter; -import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.gcube.application.framework.core.session.ASLSession; import org.gcube.common.homelibrary.home.workspace.Workspace; @@ -126,10 +125,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T public static final String BASETAXONOMY = "Kingdom"; public static final String UNK = "Unk"; - static { - Logger root = Logger.getLogger("org.gcube.portlets.user.speciesdiscovery"); - root.setLevel(Level.ALL); - } +// static { +// Logger root = Logger.getLogger("org.gcube.portlets.user.speciesdiscovery"); +// root.setLevel(Level.ALL); +// } protected ASLSession getASLSession() { @@ -182,9 +181,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public void searchByScientificName(String searchTerm, SearchFilters searchFilters) throws SearchServiceException { - logger.trace("searchByScientificName searchTerm: "+searchTerm+" searchFilters: "+searchFilters); - -// System.out.println("searchByScientificName searchTerm: "+searchTerm+" searchFilters: "+searchFilters); + logger.info("searchByScientificName searchTerm: "+searchTerm+" searchFilters: "+searchFilters); stopSearch(); search(searchTerm, SearchType.BY_SCIENTIFIC_NAME, searchFilters); @@ -195,7 +192,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public void searchByCommonName(String searchTerm, SearchFilters searchFilters) throws SearchServiceException { - logger.trace("searchByCommonName searchTerm: "+searchTerm+" searchFilters: "+searchFilters); + logger.info("searchByCommonName searchTerm: "+searchTerm+" searchFilters: "+searchFilters); stopSearch(); search(searchTerm, SearchType.BY_COMMON_NAME, searchFilters); @@ -207,16 +204,12 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T ASLSession aslSession = getASLSession(); try { deleteAllRowIntoDaoTable(); //RESET TABLE - - // logger.trace("In search session id: " + aslSession.getExternalSessionID() + " sessione username: " +aslSession.getUsername() + " session scope: "+aslSession.getScopeName()); - SpeciesService taxonomyService = getSpeciesService(); CloseableIterator input = taxonomyService.searchByFilters(searchTerm, searchType, searchFilters); - //DEBUG - + SessionUtil.setCurrentQuery(aslSession, taxonomyService.getLastQuery()); // System.out.println("returned input stream by service..."); - logger.trace("returned input stream by service..."); + logger.info("returned input stream by service..."); SearchResultType resultType = QueryUtil.getResultType(searchFilters); CloseableIterator output = IteratorChainBuilder.buildChain(input, resultType, aslSession); @@ -224,39 +217,31 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T return resultType; } catch (Exception e) { logger.error("Error starting search "+searchType+" for term \""+searchTerm+"\" with filters "+searchFilters, e); - e.printStackTrace(); SessionUtil.setCurrentQuery(aslSession, "invalid query"); throw new SearchServiceException(e.getMessage()); - } } @Override public SearchByQueryParameter searchByQuery(String query) throws SearchServiceException { - logger.trace("searchByQuery - query: "+query); + logger.info("searchByQuery - query: "+query); stopSearch(); ASLSession aslSession = getASLSession(); try { deleteAllRowIntoDaoTable(); //RESET TABLE - - // logger.trace("In searchByQuery session id: " + aslSession.getExternalSessionID() + " sessione username: " +aslSession.getUsername() + " session scope: "+aslSession.getScopeName()); - SpeciesService taxonomyService = getSpeciesService(); CloseableIterator input = taxonomyService.searchByQuery(query); SessionUtil.setCurrentQuery(aslSession, query); - - //DEBUG -// System.out.println("service return iterator searched..."); - logger.trace("service return iterator searched..."); + logger.info("service return iterator searched..."); SearchByQueryParameter queryParameters = QueryUtil.getQueryResultType(query); CloseableIterator output = IteratorChainBuilder.buildChain(input, queryParameters.getSearchResultType(), aslSession); FetchingSessionUtil.createFetchingSession(output, queryParameters.getSearchResultType(), aslSession); - logger.trace("creating fetching session completed!"); + logger.info("creating fetching session completed!"); return queryParameters; } catch (Exception e) { @@ -268,11 +253,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T private void deleteAllRowIntoDaoTable() throws Exception{ - -// BaseDaoImpl daoResultRow = null; + logger.info("deleting all row into dao's"); ResultRowPersistence daoResultRow = null; TaxonRowPersistence daoTaxon = null; -// BaseDaoImpl daoCommonName = null; TaxonomyRowPersistence daoTaxonomyRow = null; ASLSession session = getASLSession(); @@ -286,20 +269,17 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T throw new Exception("Error in delete all row- getDao's " + e.getMessage(), e); } - try { - if(daoResultRow!=null){ + if(daoResultRow!=null) daoResultRow.removeAll(); - } - if(daoTaxon!=null){ + if(daoTaxon!=null) daoTaxon.removeAll(); - } if(daoTaxonomyRow!=null) daoTaxonomyRow.removeAll(); - - logger.trace("delete all row from Dao's - completed"); + + logger.info("delete all row into Dao's - completed"); } catch (Exception e) { logger.error("Error in delete all row"); throw new Exception("Error in delete all row" + e.getCause(), e); @@ -312,13 +292,11 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @SuppressWarnings("unchecked") @Override public SearchResult getSearchResultRows(int start, int limit, ResultFilter activeFiltersObject, boolean onlySelected) throws SearchServiceException { - logger.trace("getSearchResultRows start: "+start+" limit: "+limit+" onlySelected: "+onlySelected); + logger.info("getSearchResultRows start: "+start+" limit: "+limit+" onlySelected: "+onlySelected); Long startTime = System.currentTimeMillis(); FetchingSession searchSession = (FetchingSession) getSearchSession(); - ArrayList chunk = new ArrayList(); - try { List data = new ArrayList(); @@ -329,8 +307,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T int end = Math.min(start+limit, data.size()); start = Math.min(start, end); - logger.trace("chunk selected data bounds [start: "+start+" end: " + end+"]"); - + logger.info("chunk selected data bounds [start: "+start+" end: " + end+"]"); data = data.subList(start, end); } else if (activeFiltersObject == null || (!activeFiltersObject.isActiveFilters())) { @@ -344,16 +321,12 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T int end = Math.min(start+limit, data.size()); start = Math.min(start, end); - logger.trace("chunk filtered data bounds [start: "+start+" end: " + end+"]"); - + logger.info("chunk filtered data bounds [start: "+start+" end: " + end+"]"); data = data.subList(start, end); } - logger.trace("Fetching data from search session buffer, size: "+data.size()); - -// int end = Math.min(start+limit, data.size()); -// start = Math.min(start, end); - + logger.info("Fetching data from search session buffer, size: "+data.size()); + for (ResultRow resultRow : data) { //return common names? @@ -365,34 +338,18 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if(activeFiltersObject == null || !resultRow.existsProperties() || !activeFiltersObject.isLoadAllProperties()){ resultRow.setProperties(null); } - - //FOR DEBUG -// System.out.println("################### ResultRow parents: "+resultRow.getParents()); - chunk.add(resultRow); - - logger.trace("getSearchResultRows return on client result item with id: " +resultRow.getId() + " service id: "+resultRow.getServiceId()); - -// DEBUG -// logger.trace("getSearchResultRows return on client result row: " +resultRow); - //System.out.println("getSearchResultRows return on client result item with id: " +resultRow.getId() + " service id: "+resultRow.getServiceId()); + logger.info("getSearchResultRows return on client result item with id: " +resultRow.getId() + " service id: "+resultRow.getServiceId()); } Long endTime = System.currentTimeMillis() - startTime; String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime)); - logger.trace("returning "+chunk.size()+" elements in " + time); - // result = new SearchResult(chunk); - + logger.info("returning "+chunk.size()+" elements in " + time); } catch (Exception e) { - logger.error("Error in getSearchResultRows " + e.getMessage()); - e.printStackTrace(); - // System.out.println("Error in getSearchResultRows " +e); - // System.out.println("Error in getSearchResultRows " +e.getMessage()); + logger.error("Error in getSearchResultRows ", e); throw new SearchServiceException(e.getMessage()); } -// return new SearchResult(new ArrayList()); - return new SearchResult(chunk); } @@ -408,32 +365,30 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public SearchResult getSearchTaxonomyRow(int start, int limit, ResultFilter activeFiltersObject, boolean onlySelected) throws SearchServiceException { - logger.trace("getSearchResultRows start: "+start+" limit: "+limit+" onlySelected: "+onlySelected); + logger.info("getSearchResultRows start: "+start+" limit: "+limit+" onlySelected: "+onlySelected); Long startTime = System.currentTimeMillis(); - FetchingSession searchSession = (FetchingSession) getSearchSession(); - ArrayList chunk = new ArrayList(); try { - logger.trace("current buffer size "+searchSession.getBuffer().size()); + logger.info("current buffer size "+searchSession.getBuffer().size()); List data = new ArrayList(); if (onlySelected) { - logger.trace("getting only selected data"); + logger.info("getting only selected data"); SelectableFetchingBuffer buffer = (SelectableFetchingBuffer) searchSession.getBuffer(); data = buffer.getSelected(); int end = Math.min(start+limit, data.size()); start = Math.min(start, end); - logger.trace("chunk selected data bounds [start: "+start+" end: " + end+"]"); + logger.info("chunk selected data bounds [start: "+start+" end: " + end+"]"); data = data.subList(start, end); } else if (activeFiltersObject == null || (!activeFiltersObject.isActiveFilters())) { - logger.trace("getting all available data"); + logger.info("getting all available data"); if(limit>0){ Map filterAndMap = new HashMap(); @@ -441,19 +396,19 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T data = searchSession.getBuffer().getList(filterAndMap, start,limit); } } else { - logger.trace("getting filtered data"); + logger.info("getting filtered data"); FilterableFetchingBuffer buffer = (FilterableFetchingBuffer) searchSession.getBuffer(); data = buffer.getFilteredList(activeFiltersObject); int end = Math.min(start+limit, data.size()); start = Math.min(start, end); - logger.trace("chunk filtered data bounds [start: "+start+" end: " + end+"]"); + logger.info("chunk filtered data bounds [start: "+start+" end: " + end+"]"); data = data.subList(start, end); } - logger.trace("Fetching data from search session buffer, size: "+data.size()); + logger.info("Fetching data from search session buffer, size: "+data.size()); for (TaxonomyRow taxonomyRow : data) { //ADD common names @@ -467,25 +422,17 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if(activeFiltersObject == null || !taxonomyRow.existsProperties() || !activeFiltersObject.isLoadAllProperties()){ taxonomyRow.setProperties(null); } - - // logger.trace("getSearchTaxonomyRow return on client taxonomy row: " +taxonomyRow.getId()); - - logger.trace("getSearchTaxonomyRow return on client taxonomy item with id: " +taxonomyRow.getId() + " service id: "+taxonomyRow.getServiceId()); - // System.out.println("getSearchTaxonomyRow return on client taxonomy item with id: " +taxonomyRow.getId() + " service id: "+taxonomyRow.getServiceId()); - + logger.info("getSearchTaxonomyRow return on client taxonomy item with id: " +taxonomyRow.getId() + " service id: "+taxonomyRow.getServiceId()); chunk.add(taxonomyRow); } Long endTime = System.currentTimeMillis() - startTime; String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime)); - logger.trace("returning "+chunk.size()+" elements in " + time); + logger.info("returning "+chunk.size()+" elements in " + time); } catch (Exception e) { logger.error("Error in getSearchTaxonomyRow " + e.getMessage(), e); - e.printStackTrace(); - // System.out.println("Error in getSearchTaxonomyRow " +e); - // System.out.println("Error in getSearchTaxonomyRow " +e.getMessage()); throw new SearchServiceException(e.getMessage()); } @@ -495,12 +442,11 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T public TaxonomyRow loadTaxonomyParentByParentId(String parentID) throws Exception { TaxonomyRow taxonomyRow = null; - logger.trace("loadTaxonomyParentByParentId: "+ parentID); + logger.info("loadTaxonomyParentByParentId: "+ parentID); try { TaxonomyRowPersistence dao = DaoSession.getTaxonomyDAO(getASLSession()); - CriteriaBuilder queryBuilder = dao.getCriteriaBuilder(); CriteriaQuery cq = queryBuilder.createQuery(); Predicate pr1 = queryBuilder.equal(dao.rootFrom(cq).get(TaxonomyRow.PARENT_ID), parentID); @@ -533,14 +479,12 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T // return taxonomy; // } - - /** * {@inheritDoc} */ @Override public HashMap getFilterCounterById(GridField field) throws Exception { - logger.trace("Filter Counter for: "+ field); + logger.info("Filter Counter for: "+ field); try { FetchingSession searchSession = (FetchingSession) getSearchSession(); FieldAggregator aggregator = (FieldAggregator) searchSession.getAggregator(FieldAggregator.getFieldAggregatorName(field)); @@ -556,7 +500,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public HashMap getFilterCounterForClassification(String rankLabel) throws Exception { - logger.trace("Counter for classification: "+ rankLabel); + logger.info("Counter for classification: "+ rankLabel); try { MainTaxonomicRankEnum rank = MainTaxonomicRankEnum.valueOfLabel(rankLabel); @@ -578,7 +522,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public SearchStatus getSearchStatus(boolean onlySelected, boolean isActiveFilterOnResult) throws SearchServiceException { - logger.trace("getSearchStatus onlySelected: "+onlySelected); + logger.info("getSearchStatus onlySelected: "+onlySelected); FetchingSession searchSession = getSearchSession(); @@ -588,30 +532,30 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T try { bufferSize = isActiveFilterOnResult?((FilterableFetchingBuffer) searchSession.getBuffer()).getFilteredListSize():searchSession.getBufferSize(); } catch (Exception e) { - logger.trace("getSearchStatus bufferSize error : "+e.getMessage(), e); + logger.info("getSearchStatus bufferSize error : "+e.getMessage(), e); throw new SearchServiceException(e.getMessage()); } - logger.trace("getSearchStatus bufferSize " + bufferSize); + logger.info("getSearchStatus bufferSize " + bufferSize); //if buffer size is >= the MAXIMUM ELEMENTS. Maximun is reached and the search is stopped if(bufferSize>=MAX_BUFFERING_ELEMENTS){ - logger.trace("getSearchStatus MAX_BUFFERING_ELEMENTS is reached - stop search"); + logger.info("getSearchStatus MAX_BUFFERING_ELEMENTS is reached - stop search"); stopSearchWithoutRemove(); //CALCULATE NEW BUFFER SIZE AFTER FETCHING IS CLOSED try { // int sleepingTime = 500; -// logger.trace("sleeping "+sleepingTime+" ms for translate last objets arrived into buffer"); +// logger.info("sleeping "+sleepingTime+" ms for translate last objets arrived into buffer"); // Thread.sleep(sleepingTime); //SLEEPING 0,5 sec, for translating objects that are inserting in buffer and calculate new size of buffer -// logger.trace("sleep termined - search status alive"); +// logger.info("sleep termined - search status alive"); bufferSize = isActiveFilterOnResult?((FilterableFetchingBuffer) searchSession.getBuffer()).getFilteredListSize():searchSession.getBufferSize(); } catch (SQLException e) { - logger.trace("getSearchStatus bufferSize error : "+e.getMessage(), e); + logger.info("getSearchStatus bufferSize error : "+e.getMessage(), e); throw new SearchServiceException("An error occured on server in searching status, please retry"); } catch (Exception e) { - logger.trace("getSearchStatus bufferSize error : "+e.getMessage(), e); + logger.info("getSearchStatus bufferSize error : "+e.getMessage(), e); throw new SearchServiceException("An error occured on server in searching status, please retry"); } @@ -621,11 +565,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T return status; } - // logger.trace("Control !onlySelected && !isActiveFilterOnResult"); if (!onlySelected && !isActiveFilterOnResult) { status.setResultEOF(searchSession.isComplete()); status.setSize(bufferSize); - // logger.trace("Control isActiveFilterOnResult "+ isActiveFilterOnResult); } else if(isActiveFilterOnResult){ status.setResultEOF(true); @@ -648,7 +590,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } } - logger.trace("getSearchStatus return status size: "+status.getSize() +" EOF: " + status.isResultEOF()); + logger.info("getSearchStatus return status size: "+status.getSize() +" EOF: " + status.isResultEOF()); return status; } @@ -657,7 +599,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T * {@inheritDoc} */ public void stopSearchWithoutRemove() throws SearchServiceException { - logger.trace("stopSearch without Remove"); + logger.info("stopSearch without Remove"); ASLSession session = getASLSession(); //we safely get the session if exists @@ -677,7 +619,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public void stopSearch() throws SearchServiceException { - logger.trace("stopSearch"); + logger.info("stopSearch"); ASLSession session = getASLSession(); FetchingSession searchSession = SessionUtil.getCurrentSearchSession(session); @@ -697,7 +639,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public void updateRowSelection(int rowId, boolean selection) throws SearchServiceException { - logger.trace("updateRowSelection rowId: "+rowId+" selection: "+selection); + logger.info("updateRowSelection rowId: "+rowId+" selection: "+selection); try { ASLSession session = getASLSession(); @@ -717,7 +659,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public Integer updateRowSelections(boolean selection, ResultFilter activeFiltersObject) throws SearchServiceException { - logger.trace("updateRowSelections selection: "+selection); + logger.info("updateRowSelections selection: "+selection); List data; FetchingSession searchSession = getSearchSession(); int size = 0; @@ -742,12 +684,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T bufferCompleted.updateAllSelectionByIds(selection, ids); size = data.size(); - - //OLD CODE -// for (FetchingElement fetchingElement : data) -// updateRowSelection(fetchingElement.getId(), selection); -// -// size = data.size(); } } @@ -766,7 +702,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public int countOfSelectedRow() throws SearchServiceException{ - logger.trace("countOfSelectedRow()"); + logger.info("countOfSelectedRow()"); FetchingSession searchSession = getSearchSession(); @@ -788,14 +724,14 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @SuppressWarnings("unchecked") @Override public int retrieveOccurencesFromSelection() throws SearchServiceException { - logger.trace("retrieveOccurencesFromSelection()"); + logger.info("retrieveOccurencesFromSelection()"); int count = 0; FetchingSession searchSession = (FetchingSession) getSearchSession(); try { Collection selectedRows = ((SelectableFetchingBuffer) searchSession.getBuffer()).getSelected(); - logger.trace("found "+selectedRows.size()+" selected rows"); + logger.info("found "+selectedRows.size()+" selected rows"); List keys = new ArrayList(selectedRows.size()); @@ -807,10 +743,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } } - logger.trace("found "+count+" occurrence points"); + logger.info("found "+count+" occurrence points"); //TODO remove - if (logger.isTraceEnabled()) logger.trace("selected keys: "+keys); + if (logger.isInfoEnabled()) logger.info("selected keys: "+keys); SpeciesService taxonomyService = getSpeciesService(); @@ -832,31 +768,23 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public OccurrenceBatch getOccurrencesBatch(int start, int limit) throws SearchServiceException { - logger.trace("getOccurrencesBatch: start: "+start+" limit: "+limit); + logger.info("getOccurrencesBatch: start: "+start+" limit: "+limit); FetchingSession occurrenceSession = getOccurrenceSession(); - - // ASLSession session = getASLSession(); - // FetchingSession occurrenceSession = SessionUtil.getCurrentOccurrenceSession(session); - List buffer; OccurrenceBatch result = null; try { buffer = occurrenceSession.getBuffer().getList(); - - logger.trace("Fetching data from occurrence session buffer, size: "+buffer.size()); - + logger.info("Fetching data from occurrence session buffer, size: "+buffer.size()); int end = Math.min(start+limit, buffer.size()); - - logger.trace("chunk bounds[start: "+start+" end: " + end+"]"); - + logger.info("chunk bounds[start: "+start+" end: " + end+"]"); ArrayList data = new ArrayList(buffer.subList(start, end)); - logger.trace("returning "+data.size()+" elements"); + logger.info("returning "+data.size()+" elements"); //DEBUG // for (Occurrence occurrence : data) { -// logger.trace("citation :" + occurrence.getCitation()+ +// logger.info("citation :" + occurrence.getCitation()+ // " catalog number: "+occurrence.getCatalogueNumber()+ // " country: " +occurrence.getCountry()+ // " family: "+occurrence.getFamily()+ @@ -867,7 +795,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T // " basis of record: "+occurrence.getBasisOfRecord()); // // } - result = new OccurrenceBatch(data); result.setResultEOF(occurrenceSession.isComplete()); @@ -881,17 +808,14 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public OccurrencesStatus getCountOfOccurrencesBatch() throws SearchServiceException { - logger.trace("get CountOf Occurrences Batch"); + logger.info("get CountOf Occurrences Batch"); FetchingSession occurrenceSession = getOccurrenceSession(); List buffer; try { buffer = occurrenceSession.getBuffer().getList(); - - logger.trace("Fetching data from occurrence session buffer, size: "+buffer.size()); - - + logger.info("Fetching data from occurrence session buffer, size: "+buffer.size()); return new OccurrencesStatus(occurrenceSession.isComplete(), buffer.size()); } catch (Exception e) { @@ -905,7 +829,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public void stopRetrievingOccurrences() throws SearchServiceException { - logger.trace("stop Retrieving Occurrences "); + logger.info("stop Retrieving Occurrences "); ASLSession session = getASLSession(); FetchingSession occurrenceSearchSession = SessionUtil.getCurrentOccurrenceSession(session); @@ -913,7 +837,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if (occurrenceSearchSession != null) { try { occurrenceSearchSession.close(); - logger.trace("Occurrence session removed"); + logger.info("Occurrence session removed"); } catch (IOException e) { throw new SearchServiceException(e.getMessage()); } @@ -927,7 +851,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public String generateMapFromSelectedOccurrencePoints() throws SearchServiceException { - logger.trace("generate Map From Occurrence Points"); + logger.info("generate Map From Occurrence Points"); Iterator iteratorOccurrences = getIteratorSelectedOccurrenceIds(); IteratorPointInfo streamKey = new IteratorPointInfo(iteratorOccurrences); @@ -935,7 +859,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T try { SpeciesService taxonomyService = getSpeciesService(); String groupName = taxonomyService.generateMapFromOccurrencePoints(streamKey); - logger.trace("generated groupName: "+groupName); + logger.info("generated groupName: "+groupName); return groupName; } catch (Exception e) { logger.error("An error occurred creating the map", e); @@ -949,13 +873,11 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T for (String id : listId) { System.out.println("Found id : " +id); } - } protected List getSelectedOccurrenceIds() throws SearchServiceException{ FetchingSession occurrenceSession = getOccurrenceSession(); - List buffer; List listId = new ArrayList(); @@ -973,7 +895,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T logger.error("An error occurred on getSelectedOccurrenceIds", e); throw new SearchServiceException(e.getMessage()); } - } protected Iterator getIteratorSelectedOccurrenceIds() throws SearchServiceException{ @@ -989,10 +910,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } @Override + @Deprecated public void saveSelectedOccurrencePoints(String destinationFolderId, String fileName, SaveFileFormat fileFormat, OccurrencesSaveEnum typeCSV) throws SearchServiceException { - logger.trace("saveSelectedOccurrencePoints destinationFolderId: "+destinationFolderId+" fileName: "+fileName+" fileFormat: "+fileFormat+" typeCSV: "+typeCSV); - - //TODO REMOVE - THIS IS OLD METHOD + logger.info("saveSelectedOccurrencePoints destinationFolderId: "+destinationFolderId+" fileName: "+fileName+" fileFormat: "+fileFormat+" typeCSV: "+typeCSV); } @Override @@ -1004,15 +924,13 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T protected List getSelectedOccurrenceKeys() throws SearchServiceException { FetchingSession searchSession = (FetchingSession) getSearchSession(); - Collection selectedRows; - List keys = null; + try { + selectedRows = ((SelectableFetchingBuffer) searchSession.getBuffer()).getSelected(); - - logger.trace("found "+selectedRows.size()+" selected rows"); - + logger.info("found "+selectedRows.size()+" selected rows"); keys = new ArrayList(selectedRows.size()); int count = 0; @@ -1020,11 +938,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T keys.add(row.getOccurencesKey()); count += row.getOccurencesCount(); } - - logger.trace("found "+count+" occurrence points and "+keys.size()+" keys"); + logger.info("found "+count+" occurrence points and "+keys.size()+" keys"); //TODO remove - if (logger.isTraceEnabled()) logger.trace("selected keys: "+keys); + if (logger.isInfoEnabled()) logger.info("selected keys: "+keys); } catch (Exception e) { logger.error("An error occured in getSelectedOccurrenceKeys" + e.getMessage()); @@ -1039,24 +956,23 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T protected List getSelectedResultRowId() throws SearchServiceException { FetchingSession searchSession = (FetchingSession) getSearchSession(); - Collection selectedRows; - List listId = null; + try { selectedRows = ((SelectableFetchingBuffer) searchSession.getBuffer()).getSelected(); - logger.trace("found "+selectedRows.size()+" selected rows"); + logger.info("found "+selectedRows.size()+" selected rows"); listId = new ArrayList(selectedRows.size()); for (ResultRow row:selectedRows) listId.add(row.getServiceId()); - logger.trace("found "+listId.size()+" ids"); + logger.info("found "+listId.size()+" ids"); //TODO remove - if (logger.isTraceEnabled()) logger.trace("selected ids: "+listId); + if (logger.isTraceEnabled()) logger.info("selected ids: "+listId); } catch (Exception e) { logger.error("An error occured in getSelectedOccurrenceKeys" + e.getMessage()); @@ -1066,66 +982,28 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T return listId; } - -// @SuppressWarnings("unchecked") -// protected List getSelectedTaxonomyId() throws SearchServiceException -// { -// FetchingSession searchSession = (FetchingSession) getSearchSession(); -// -// Collection selectedRows; -// -// List listId = null; -// try { -// selectedRows = ((SelectableFetchingBuffer) searchSession.getBuffer()).getSelected(); -// -// logger.trace("found "+selectedRows.size()+" selected rows"); -// -// listId = new ArrayList(selectedRows.size()); -// -// for (TaxonomyRow row:selectedRows){ -// listId.add(row.getServiceId()); -// logger.trace("add this id: "+row.getServiceId()+" to list"); -// } -// -// logger.trace("found "+listId.size()+" id"); -// -// //TODO remove -// if (logger.isTraceEnabled()) logger.trace("selected ids: "+listId); -// -// } catch (Exception e) { -// logger.error("An error occured in getSelectedOccurrenceKeys" + e.getMessage()); -// throw new SearchServiceException(e.getMessage()); -// } -// -// return listId; -// } - @SuppressWarnings("unchecked") protected Map getSelectedTaxonomyIdAndDataSource() throws SearchServiceException { FetchingSession searchSession = (FetchingSession) getSearchSession(); - - HashMap hashIdTaxonDataSource = null; - + HashMap hashIdTaxonDataSource = null; Collection selectedRows; -// List listId = null; try { selectedRows = ((SelectableFetchingBuffer) searchSession.getBuffer()).getSelected(); - logger.trace("found "+selectedRows.size()+" selected rows"); - + logger.info("found "+selectedRows.size()+" selected rows"); hashIdTaxonDataSource = new HashMap(selectedRows.size()); for (TaxonomyRow row:selectedRows){ hashIdTaxonDataSource.put(row.getServiceId(), row.getDataProviderName()); - logger.trace("add this id: "+row.getServiceId()+" to list"); + logger.info("add this id: "+row.getServiceId()+" to list"); } - logger.trace("found "+hashIdTaxonDataSource.size()+" id"); + logger.info("found "+hashIdTaxonDataSource.size()+" id"); //TODO remove - if (logger.isTraceEnabled()) logger.trace("selected ids: "+hashIdTaxonDataSource); + if (logger.isInfoEnabled()) logger.info("selected ids: "+hashIdTaxonDataSource); } catch (Exception e) { logger.error("An error occured in getSelectedOccurrenceKeys" + e.getMessage()); @@ -1138,7 +1016,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T protected File generateCSVFile(List ids, OccurrencesSaveEnum csvType) throws Exception { File csvFile = File.createTempFile("test", ".csv"); - logger.trace("outputfile "+csvFile.getAbsolutePath()); + logger.info("outputfile "+csvFile.getAbsolutePath()); FileWriter fileWriter = new FileWriter(csvFile); CSVWriter writer = new CSVWriter(fileWriter); @@ -1167,35 +1045,29 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T }break; } - - // OccurenceCSVConverter converter = new OccurenceCSVConverter(); - // ConversionIterator> occurrencesConverter = new ConversionIterator>(result, converter); - while(csvGenerator.hasNext()) writer.writeLine(csvGenerator.next()); fileWriter.close(); - return csvFile; } @Override public List loadDataSourceList() throws SearchServiceException { - logger.trace("loadDataSourceList... "); -// System.out.println("loadDataSourceList loadDataSourceList loadDataSourceList loadDataSourceList loadDataSourceList "); + logger.info("loadDataSourceList... "); List listDS = null; try { DaoSession.initSessionDaoObjects(getASLSession()); //FIXME temporary? - logger.trace("DAOs OK... "); + logger.info("DAOs OK... "); System.out.println("DAOs OK"); SpeciesService taxonomyService = getSpeciesService(); System.out.println("Species Services OK"); - logger.trace("Species Services OK... "); + logger.info("Species Services OK... "); listDS = taxonomyService.getPlugins(); System.out.println("Plugins OK"); - logger.trace("Plugins OK"); - logger.trace("Return list plugin - size: " +listDS.size()); + logger.info("Plugins OK"); + logger.info("Return list plugin - size: " +listDS.size()); } catch (DatabaseServiceException e) { throw new SearchServiceException("Sorry, an error has occurred on the server while "+e.getMessage()); @@ -1209,41 +1081,17 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override + @Deprecated public ArrayList loadListCommonNameByRowId(String resultRowId) throws Exception { ArrayList listCommonName = new ArrayList(); - - //TODO -// try { -// Dao commonDao = DaoSession.getCommonNameDAO(getASLSession()); -// -// QueryBuilder queryBuilder = commonDao.queryBuilder(); -// -// com.j256.ormlite.dao.CloseableIterator iterator = queryBuilder.where().eq(CommonName.REFERENCE_RESULTROW_ID, resultRowId).iterator(); -// -// while(iterator.hasNext()){ -// listCommonName.add(iterator.next()); -// } -// -// iterator.close(); -// -// } catch (Exception e) { -// logger.error("Error on loadListCommonNameByRowId",e); -// throw new Exception("Error on loadListCommonNameByRowId", e); -// } - return listCommonName; } @Override + @Deprecated public List getParentsList(Taxon taxon) throws Exception { - -// ArrayList listParent = new ArrayList(); -// -// getParentListOfTaxon(taxon.getParent(), listParent); -// -// return listParent; return null; } @@ -1251,9 +1099,8 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public ArrayList loadListChildrenByParentId(String parentId) throws Exception { - logger.trace("Load List Children By ParentId: " + parentId); - //FOR DEBUG -// System.out.println("Load List Children By ParentId: " + parentId); + logger.info("Load List Children By ParentId: " + parentId); + ArrayList listLightTaxonomyRow = new ArrayList(); if(parentId==null || parentId.isEmpty()){ @@ -1271,17 +1118,17 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T Map mapChildren = SessionUtil.getHashMapChildrenTaxonomyCache(session); if(mapChildren==null){ - logger.trace("Cache taxa children doesn't exists into session, creating.."); + logger.info("Cache taxa children doesn't exists into session, creating.."); mapChildren = new HashMap(); } -// int i = 0; + while (streamIterator.hasNext()) { TaxonomyItem tax = streamIterator.next(); TaxonomyRow taxonomy = converter.convert(tax); if(mapChildren.get(taxonomy.getServiceId())==null){ - logger.trace("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Children, adding.."); + logger.info("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Children, adding.."); mapChildren.put(taxonomy.getServiceId(),taxonomy); } @@ -1290,7 +1137,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } SessionUtil.setHashMapChildrenTaxonomyCache(session, mapChildren); - streamIterator.close(); } catch (Exception e) { @@ -1298,15 +1144,14 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T throw new Exception("Error on loadListChildByParentId", e); } - logger.trace("Return list children By ParentId "+parentId+"- with size: "+ listLightTaxonomyRow.size()); + logger.info("Return list children By ParentId "+parentId+"- with size: "+ listLightTaxonomyRow.size()); return listLightTaxonomyRow; } @Override public List getListTaxonomyJobs() throws Exception { - logger.trace("getListTaxonomyJobs... "); -// System.out.println("getListSpeciesJobs..."); + logger.info("getListTaxonomyJobs... "); List listJobs = new ArrayList(); try{ @@ -1318,32 +1163,23 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T while(iterator!=null && iterator.hasNext()){ TaxonomyJob job = iterator.next(); - - logger.trace("get taxonomy job "+job.getId()+ " from service"); - // System.out.println("get taxonomy job "+job.getId()+ " from service"); + logger.info("get taxonomy job "+job.getId()+ " from service"); try{ - - Status statusResponse = taxonomyService.getTaxonomyJobById(job.getId()); - - if(statusResponse!=null){ - logger.trace("statusResponse is not null..." + job.getId()); - // System.out.println("statusResponse is not null..." + job.getId()); - JobTaxonomyModel jobSpeciesModel = TaxonomyJobUtil.convertJob(job, statusResponse, taxonomyJobDao); + Status statusResponse = taxonomyService.getTaxonomyJobById(job.getId()); - //FOR DEBUG - // System.out.println("getListTaxonomyJobs added list: "+jobSpeciesModel); - logger.trace("added list jobTaxonomyId: "+job.getTaxonomyId() + " status "+job.getState()); - - if(jobSpeciesModel!=null) - listJobs.add(jobSpeciesModel); - } - else{ - logger.trace("TaxonomyJob statusResponse is null..." + job.getId()); - // System.out.println("TaxonomyJob statusResponse is null..." + job.getId()); - // System.out.println("statusResponse is null..." + job.getId()); - TaxonomyJobUtil.deleteTaxonomyJobById(job.getId(),taxonomyJobDao); - } + if(statusResponse!=null){ + logger.info("statusResponse is not null..." + job.getId()); + JobTaxonomyModel jobSpeciesModel = TaxonomyJobUtil.convertJob(job, statusResponse, taxonomyJobDao); + logger.info("added list jobTaxonomyId: "+job.getTaxonomyId() + " status "+job.getState()); + + if(jobSpeciesModel!=null) + listJobs.add(jobSpeciesModel); + } + else{ + logger.info("TaxonomyJob statusResponse is null..." + job.getId()); + TaxonomyJobUtil.deleteTaxonomyJobById(job.getId(),taxonomyJobDao); + } }catch (Exception e) { e.printStackTrace(); @@ -1374,7 +1210,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public JobTaxonomyModel createTaxonomyJobByChildren(String taxonomyServiceId, String taxonomyName, String taxonomyRank, String dataSourceName) throws Exception { //FIXED 20/05/2013 - logger.trace("Create job for taxonomy id: " + taxonomyServiceId); + logger.info("Create job for taxonomy id: " + taxonomyServiceId); // System.out.println("Create job for taxonomy id: " + taxonomy.getServiceId()); JobTaxonomyModel jobSpeciesModel = null; @@ -1407,28 +1243,16 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public JobTaxonomyModel createTaxonomyJobByIds(String search, List dataSources) throws Exception { - logger.trace("Create job ForDWCAByIds for: " + search); + logger.info("Create job ForDWCAByIds for: " + search); -// List listId = getSelectedTaxonomyId(); - Map hashIdDs = getSelectedTaxonomyIdAndDataSource(); -// printId(listId); - -// System.out.println("Create job for taxonomy id: " + taxonomy.getServiceId()); - JobTaxonomyModel jobSpeciesModel = null; - TaxonomyJobPersistence taxonomyJobDao = DaoSession.getTaxonomyJobDAO(getASLSession()); - SpeciesService taxonomyService = getSpeciesService(); - List listId = new ArrayList(hashIdDs.keySet()); - String speciesJobId = taxonomyService.createTaxonomyJobForDWCAByIds(listId); - long submitTime = Calendar.getInstance().getTimeInMillis(); - String name = NormalizeString.lowerCaseUpFirstChar(search) + " - "; name += listId.size() + " "; name += listId.size()>1?"taxa":"taxon"; @@ -1438,29 +1262,11 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T for (String taxonId : listId) { if(!dataSourceName.contains(hashIdDs.get(taxonId))) //remove duplicate dataSourceName+=hashIdDs.get(taxonId) + ", "; - } -// String dataSourceName = ""; -// -// for (DataSourceModel dataSource : dataSources) { -// dataSourceName+=dataSource.getName() + ", "; -// } - if(dataSourceName.endsWith(", ")) dataSourceName = dataSourceName.substring(0, dataSourceName.length()-2); - - /*String name = "Save DWCA with "+listId.size()+ " "; - - name += listId.size()>1?"items":"item"; - name += " "+search; - - String dataSourceName = ""; - - for (DataSourceModel dataSource : dataSources) { - dataSourceName+=dataSource.getName() + ", "; - }*/ - + //STORE INTO DAO TaxonomyJob speciesJob = new TaxonomyJob(speciesJobId, DownloadState.PENDING.toString(), name, name, dataSourceName, "", 0, submitTime, 0, speciesJobId); taxonomyJobDao.insert(speciesJob); @@ -1479,13 +1285,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public JobTaxonomyModel resubmitTaxonomyJob(String jobIdentifier) throws Exception { - logger.trace("Resubmit taxonomy job for id: " + jobIdentifier); - //FOR DEBUG -// System.out.println("Resubmit taxonomy job for id: " + jobIdentifier); + logger.info("Resubmit taxonomy job for id: " + jobIdentifier); JobTaxonomyModel jobSpeciesModel = null; - //Get Dao with list taxonomy jobs TaxonomyJobPersistence taxonomyJobDao = DaoSession.getTaxonomyJobDAO(getASLSession()); @@ -1554,33 +1357,29 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean saveTaxonomyJob(String jobIdentifier, String destinationFolderId, String fileName, String scientificName, String dataSourceName) throws Exception { - logger.trace("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); -// System.out.println("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); + logger.info("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); try { SpeciesService taxonomyService = getSpeciesService(); String mimeType = "application/zip"; - InputStream inputStream = taxonomyService.getTaxonomyJobFileById(jobIdentifier); if(inputStream!=null){ Workspace workspace = GetWorkspaceUtil.getWorskspace(getASLSession()); - logger.trace("input stream is not null"); -// System.out.println("input stream is not null"); + logger.info("input stream is not null"); WorkspaceFolder folder = (WorkspaceFolder) workspace.getItem(destinationFolderId); fileName = WorkspaceUtil.getUniqueName(fileName, folder); folder.createExternalFileItem(fileName,"Taxonomy job generated files", mimeType, inputStream); - logger.trace("Save file with taxonomy was completed"); + logger.info("Save file with taxonomy was completed"); } else{ - logger.trace("input stream is null"); + logger.info("input stream is null"); return false; } - - + return true; } catch (Exception e) { @@ -1593,9 +1392,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean saveTaxonomyJobError(String jobIdentifier, String destinationFolderId, String fileName, String scientificName, String dataSourceName) throws Exception { - - logger.trace("saveSpeciesJob error jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); -// System.out.println("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); + logger.info("saveSpeciesJob error jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); try { @@ -1606,21 +1403,18 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if(inputStream!=null){ Workspace workspace = GetWorkspaceUtil.getWorskspace(getASLSession()); - logger.trace("input stream is not null"); -// System.out.println("input stream is not null"); - + logger.info("input stream is not null"); WorkspaceFolder folder = (WorkspaceFolder) workspace.getItem(destinationFolderId); fileName = WorkspaceUtil.getUniqueName(fileName, folder); folder.createExternalFileItem(fileName,"Report errors on taxonomy job", mimeType, inputStream); - logger.trace("Save report file with errors occurred was completed"); + logger.info("Save report file with errors occurred was completed"); } else{ - logger.trace("input stream is null"); + logger.info("input stream is null"); return false; } - - + return true; } catch (Exception e) { @@ -1633,11 +1427,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public List retrieveTaxonomyByIds(List ids) throws Exception{ - logger.trace("retrieveTaxonomyByIds ids size: " + ids.size()); - -// System.out.println("retrieveTaxonomyByIds ids size: " + ids.size() + " first id " + ids.get(0)); - + logger.info("retrieveTaxonomyByIds ids size: " + ids.size()); List listLightTaxonomyRow = new ArrayList(); + try { SpeciesService taxonomyService = getSpeciesService(); @@ -1651,7 +1443,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T Map mapTaxonomyIds = SessionUtil.getHashMapTaxonomyByIdsCache(session); if(mapTaxonomyIds==null){ - logger.trace("Cache taxa ByIds doesn't exists into session, creating.."); + logger.info("Cache taxa ByIds doesn't exists into session, creating.."); mapTaxonomyIds = new HashMap(); } @@ -1661,7 +1453,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T TaxonomyRow taxonomy = taxonomyItemConverter.convert(tax); if(mapTaxonomyIds.get(taxonomy.getServiceId())==null){ - logger.trace("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Taxonomy Ids, adding.."); + logger.info("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Taxonomy Ids, adding.."); mapTaxonomyIds.put(taxonomy.getServiceId(),taxonomy); } @@ -1686,12 +1478,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public List retrieveSynonymsByRefId(String refId) throws Exception{ - logger.trace("retrieveSynonymsById id: " + refId); - - //FOR DEBUG -// System.out.println("retrieveSynonymsById id: " + refId); - + logger.info("retrieveSynonymsById id: " + refId); List listLightTaxonomyRow = new ArrayList(); + try { SpeciesService taxonomyService = getSpeciesService(); @@ -1704,7 +1493,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T Map mapSysnosyms = SessionUtil.getHashMapSynonymsTaxonomyCache(getASLSession()); if(mapSysnosyms==null){ - logger.trace("Cache synonyms doesn't exists into session, creating.."); + logger.info("Cache synonyms doesn't exists into session, creating.."); mapSysnosyms = new HashMap(); } @@ -1715,7 +1504,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T TaxonomyRow taxonomy = taxonomyItemConverter.convert(tax); if(mapSysnosyms.get(taxonomy.getServiceId())==null){ - logger.trace("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Synonyms, adding.."); + logger.info("Taxonomy with service id: "+taxonomy.getServiceId()+" doesn't exists into Map Synonyms, adding.."); mapSysnosyms.put(taxonomy.getServiceId(),taxonomy); } @@ -1744,7 +1533,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T */ @Override public List createOccurrencesJob(List listJobOccurrenceModel, SaveFileFormat saveFileFormat, OccurrencesSaveEnum csvType, boolean isByDataSource, int expectedOccurrence) throws Exception { - logger.trace("createOccurencesJobFromSelection..."); + logger.info("createOccurencesJobFromSelection..."); List listResultJobModel = new ArrayList(); @SuppressWarnings("unchecked") @@ -1768,13 +1557,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T List dataSourceList = listJobOccurrenceModel.get(0).getDataSources(); //ADDED DATA SOURCE LIST - listResultJobModel.add(OccurrenceJobUtil.createOccurrenceJobOnServiceByKeys(listJobOccurrenceModel.get(0), taxonomyService, occurrencesJobDao, keys, dataSourceList, saveFileFormat, csvType, expectedOccurrence)); - } - - } - - else{ //IS BY DATASOURCE - CREATE MORE JOB, ONE FOR EACH DATASOURCE + } + }else{ //IS BY DATASOURCE - CREATE MORE JOB, ONE FOR EACH DATASOURCE for (JobOccurrencesModel jobModel : listJobOccurrenceModel) { //IN THIS CASE - FOR EACH JOBMODEL THERE IS ONE DATASOURCE @@ -1790,21 +1575,16 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T List dataSourceList = jobModel.getDataSources(); //ADDED DATA SOURCE LIST - listResultJobModel.add(OccurrenceJobUtil.createOccurrenceJobOnServiceByKeys(jobModel, taxonomyService, occurrencesJobDao, occKey.getListKey(), dataSourceList, saveFileFormat, csvType, occKey.getTotalOccurrence())); } } } - return listResultJobModel; } catch (Exception e) { logger.error("An error occurred in createOccurencesJobFromSelection", e); - //FOR DEBUG -// System.out.println("Exception in createOccurrencesJob"); - e.printStackTrace(); throw new Exception(e.getMessage()); } @@ -1812,7 +1592,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public List resubmitOccurrencesJob(String jobIdentifier) throws Exception { - logger.trace("createOccurencesJobFromSelection..."); + logger.info("createOccurencesJobFromSelection..."); List listResultJobModel = new ArrayList(); SpeciesService taxonomyService = getSpeciesService(); @@ -1838,7 +1618,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T else return listResultJobModel; - //recover keys keys = OccurrenceJobUtil.revertListKeyFromStoredXMLString(job.getResultRowKeysAsXml()); @@ -1857,9 +1636,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } catch (Exception e) { logger.error("An error occurred in createOccurencesJobFromSelection", e); - //FOR DEBUG -// System.out.println("Exception in createOccurrencesJob"); - e.printStackTrace(); throw new Exception(e.getMessage()); } @@ -1869,50 +1645,34 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public List getListOccurrencesJob() throws Exception{ - logger.trace("getListOccurencesJob... "); - // System.out.println("getListSpeciesJobs..."); + logger.info("getListOccurencesJob... "); List listJobs = new ArrayList(); try { OccurrenceJobPersistence occurrencesJobDao = DaoSession.getOccurrencesJobDAO(getASLSession()); - Iterator iterator = occurrencesJobDao.getList().iterator(); - SpeciesService taxonomyService = getSpeciesService(); while (iterator!=null && iterator.hasNext()) { OccurrencesJob job = iterator.next(); - - Status statusResponse = taxonomyService.getOccurrenceJobById(job.getId()); - - logger.trace("get occurrence job "+job.getId()+ " from service"); - - //FOR DEBUG -// System.out.println("get occurrence job "+job.getId()+ " from service"); + Status statusResponse = taxonomyService.getOccurrenceJobById(job.getId()); + logger.info("get occurrence job "+job.getId()+ " from service"); try{ if(statusResponse!=null){ - logger.trace("statusResponse of occurrence job is not null..." + job.getId()); -// System.out.println("statusResponse is not null..." + job.getId()); + logger.info("statusResponse of occurrence job is not null..." + job.getId()); JobOccurrencesModel jobOccurrenceModel = OccurrenceJobUtil.convertJob(job, statusResponse, occurrencesJobDao); if(jobOccurrenceModel!=null){ - //FOR DEBUG - logger.trace("added list jobOccurrenceId: "+jobOccurrenceModel.getJobIdentifier() + " status "+jobOccurrenceModel.getDownloadState()); - //FOR DEBUG -// System.out.println("added list jobOccurrenceId: "+jobOccurrenceModel.getJobIdentifier() + " status "+jobOccurrenceModel.getDownloadState()); -// System.out.println("keys: "+job.getResultRowKeysAsXml()); -// System.out.println("dataSources: "+job.getDataSourcesAsXml()); - + logger.info("added list jobOccurrenceId: "+jobOccurrenceModel.getJobIdentifier() + " status "+jobOccurrenceModel.getDownloadState()); listJobs.add(jobOccurrenceModel); } } else{ - logger.trace("statusResponse of occurrence job is null..." + job.getId()); - logger.trace("delete job ..." + job.getId()); -// System.out.println("statusResponse is null..." + job.getId()); + logger.info("statusResponse of occurrence job is null..." + job.getId()); + logger.info("delete job ..." + job.getId()); OccurrenceJobUtil.deleteOccurrenceJobById(job.getId(),occurrencesJobDao); } @@ -1923,11 +1683,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } } -// if(iterator!=null) -// iterator.close(); -// else -// logger.warn("Warn on getListOccurrencesJob, iterator is null"); - } catch (Exception e) { logger.error("Error on get iterator "+e, e); } @@ -1938,16 +1693,13 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean saveOccurrenceJob(JobOccurrencesModel jobModel, String destinationFolderId, String fileName, String scientificName, String dataSourceName) throws Exception { - - logger.trace("saveOccurrenceJob jobId: "+jobModel.getJobIdentifier()+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName + " file format: "+jobModel.getFileFormat()); -// System.out.println("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); - + logger.info("saveOccurrenceJob jobId: "+jobModel.getJobIdentifier()+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName + " file format: "+jobModel.getFileFormat()); + try { SpeciesService taxonomyService = getSpeciesService(); - String mimeType = null; - + switch (jobModel.getFileFormat()) { case CSV: { mimeType = "text/csv"; @@ -1961,25 +1713,22 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if(inputStream!=null){ Workspace workspace = GetWorkspaceUtil.getWorskspace(getASLSession()); - logger.trace("input stream is not null"); + logger.info("input stream is not null"); // System.out.println("input stream is not null"); WorkspaceFolder folder = (WorkspaceFolder) workspace.getItem(destinationFolderId); fileName = WorkspaceUtil.getUniqueName(fileName, folder); folder.createExternalFileItem(fileName,"Occurrence job generated files", mimeType, inputStream); - logger.trace("Save file with occurrences was completed"); + logger.info("Save file with occurrences was completed"); } else{ - - logger.trace("input stream is null"); + logger.info("input stream is null"); return false; } - return true; } catch (Exception e) { - logger.error("An error occurred saving the generated file into the workspace",e); throw new SearchServiceException(e.getMessage()); } @@ -1989,8 +1738,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean saveOccurrenceJobError(JobOccurrencesModel jobModel, String destinationFolderId, String fileName, String scientificName, String dataSourceName) throws Exception { - logger.trace("saveOccurrenceJobError jobId: "+jobModel.getJobIdentifier()+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName + " file format: "+jobModel.getFileFormat()); -// System.out.println("saveSpeciesJob jobId: "+jobIdentifier+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName); + logger.info("saveOccurrenceJobError jobId: "+jobModel.getJobIdentifier()+" destinationFolderId: "+destinationFolderId+" fileName: "+fileName + " file format: "+jobModel.getFileFormat()); try { @@ -2012,21 +1760,20 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T if(inputStream!=null){ Workspace workspace = GetWorkspaceUtil.getWorskspace(getASLSession()); - logger.trace("input stream is not null"); + logger.info("input stream is not null"); // System.out.println("input stream is not null"); WorkspaceFolder folder = (WorkspaceFolder) workspace.getItem(destinationFolderId); fileName = WorkspaceUtil.getUniqueName(fileName, folder); folder.createExternalFileItem(fileName,"Report errors occurred on occurrence job", mimeType, inputStream); - logger.trace("Save report file with errors occurred was completed"); + logger.info("Save report file with errors occurred was completed"); } else{ - logger.trace("input stream is null"); + logger.info("input stream is null"); return false; } - - + return true; } catch (Exception e) { @@ -2039,16 +1786,13 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean cancelOccurrenceJob(String jobIdentifier) throws Exception { - + logger.info("cancelOccurrenceJob jobIdentifier: "+jobIdentifier); try{ SpeciesService taxonomyService = getSpeciesService(); - //REMOVE JOB ON THE SERVICE taxonomyService.cancelTaxonomyJobById(jobIdentifier); - OccurrenceJobPersistence occurrenceJobDAO = DaoSession.getOccurrencesJobDAO(getASLSession()); - int count = OccurrenceJobUtil.deleteOccurrenceJobById(jobIdentifier, occurrenceJobDAO); if(count==1) @@ -2086,8 +1830,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T SearchResult searchResults = getSearchResultRows(0, countSelectedRow, filter, true); ClusterStructuresForResultRow cluster = new ClusterStructuresForResultRow(searchResults,isReduced, totalRow); - - + //TODO USE THREAD? ManagerClusterCommonNameDataSourceForResultRow manager = new ManagerClusterCommonNameDataSourceForResultRow(cluster.getHashClusterScientificNameResultRowServiceID(), cluster.getHashResult()); @@ -2097,31 +1840,24 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T cluster.setHashResult(null); return cluster; - } @Override public ClusterCommonNameDataSourceForResultRow loadClusterCommonNameForResultRowByScientificName(String scientificName) throws Exception { - logger.trace("loadClusterCommonNameForResultRowByScientificName for scientific name: "+scientificName); - + logger.info("loadClusterCommonNameForResultRowByScientificName for scientific name: "+scientificName); HashMap hashCluster = SessionUtil.getCurrentClusterCommonNameForResultRow(getASLSession()); - - + if(hashCluster==null){ logger.warn("Error in loadClusterCommonNameForResultRowByScientificName, hashCluster was not found in session"); return null; - } ClusterCommonNameDataSourceForResultRow cluster = hashCluster.get(scientificName); - - if(cluster==null){ logger.warn("Error in loadClusterCommonNameForResultRowByScientificName, cluster was not found in session"); return null; } - return cluster; } @@ -2144,7 +1880,6 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T selectString+= "distinct "; Query query = em.createQuery(selectString + "t."+ResultRow.DATASOURCE_NAME+" from ResultRow t where t.selected = "+selected ); - listDN = query.getResultList(); } finally { @@ -2152,13 +1887,9 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } for (String dataSourceName : listDN) { - //FOR DEBUG -// System.out.println("row datasource #################################" +resultRow); listDataSource.add(new DataSource(dataSourceName, dataSourceName)); } -// distinctQueryBuilder.clear(); - } catch (Exception e) { logger.error("Error in loadDataSourceForResultRow " +e.getMessage(), e); throw new Exception("Error in loadDataSourceForResultRow " + e.getMessage(), e); @@ -2199,9 +1930,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T //Reset list synonyms to last clustering if(mapTaxonomyIds!=null) SessionUtil.setHashMapTaxonomyByIdsCache(session, null); - - - + //LIMIT NUMBER OF ITEMS TO ConstantsSpeciesDiscovery.LIMIT_ITEM_DETAILS if(countSelectedRow>ConstantsSpeciesDiscovery.TAXONOMY_LIMIT_ITEMS_DETAILS){ countSelectedRow = ConstantsSpeciesDiscovery.TAXONOMY_LIMIT_ITEMS_DETAILS; @@ -2209,15 +1938,11 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T } ResultFilter filter = new ResultFilter(false, true, true); - SearchResult searchResults = getSearchTaxonomyRow(0, countSelectedRow, filter, true); - ClusterStructuresForTaxonomyRow cluster = new ClusterStructuresForTaxonomyRow(searchResults,isReduced, totalRow); - //TODO USE THREAD? ManagerClusterCommonNameDataSourceForTaxonomyRow manager = new ManagerClusterCommonNameDataSourceForTaxonomyRow(cluster.getHashClusterScientificNameTaxonomyRowServiceID(), cluster.getHashResult()); - SessionUtil.setCurrentClusterCommonNameForTaxonomyRow(session, manager.getHashClusterCommonNameDataSource()); //THIS OBJECT IS NOT USED ON CLIENT @@ -2231,7 +1956,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T public boolean changeStatusOccurrenceJob(String jobIdentifier, DownloadState state) throws Exception { OccurrenceJobPersistence occurrenceJobDAO = DaoSession.getOccurrencesJobDAO(getASLSession()); - + int count = OccurrenceJobUtil.changeStatusOccurrenceJobById(jobIdentifier, state, occurrenceJobDAO); if(count==1) @@ -2261,11 +1986,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean isAvailableTaxonomyJobReportError(String jobIdentifier) throws Exception { - logger.trace("isAvailableTaxonomyJobReportError jobId: "+jobIdentifier); + logger.info("isAvailableTaxonomyJobReportError jobId: "+jobIdentifier); try { SpeciesService taxonomyService = getSpeciesService(); - return taxonomyService.isAvailableTaxonomyJobErrorFileById(jobIdentifier); } catch (Exception e) { @@ -2280,11 +2004,10 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public boolean isAvailableOccurrenceJobReportError(String jobIdentifier) throws Exception { - logger.trace("isAvailableOccurrenceJobReportError jobId: "+jobIdentifier); + logger.info("isAvailableOccurrenceJobReportError jobId: "+jobIdentifier); try { SpeciesService taxonomyService = getSpeciesService(); - return taxonomyService.isAvailableOccurrenceJobErrorFileById(jobIdentifier); } catch (Exception e) { @@ -2295,7 +2018,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public String getLastQuery(){ - logger.trace("getLastQuery..."); + logger.info("getLastQuery..."); ASLSession session = getASLSession(); return SessionUtil.getCurrentQuery(session); } @@ -2306,21 +2029,17 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T @Override public ClusterCommonNameDataSourceForTaxonomyRow loadClusterCommonNameForTaxonomyRowByScientificName(String scientificName) { - System.out.println("loadClusterCommonNameForTaxonomyRowByScientificName for scientific name: "+scientificName); - logger.trace("loadClusterCommonNameForTaxonomyRowByScientificName for scientific name: "+scientificName); + logger.info("loadClusterCommonNameForTaxonomyRowByScientificName for scientific name: "+scientificName); HashMap hashCluster = SessionUtil.getCurrentClusterCommonNameForTaxonomyRow(getASLSession()); - - + if(hashCluster==null){ logger.warn("Error in loadClusterCommonNameForTaxonomyRowByScientificName, hashCluster was not found in session"); return null; - } ClusterCommonNameDataSourceForTaxonomyRow cluster = hashCluster.get(scientificName); - if(cluster==null){ logger.warn("Error in loadClusterCommonNameForTaxonomyRowByScientificName, cluster was not found in session"); return null; diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/Fetcher.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/Fetcher.java index 35ce7e0..d18a2c2 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/Fetcher.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/Fetcher.java @@ -11,17 +11,27 @@ import org.gcube.portlets.user.speciesdiscovery.server.stream.CloseableIterator; import org.gcube.portlets.user.speciesdiscovery.shared.FetchingElement; /** - * @author "Federico De Faveri defaveri@isti.cnr.it" + * The Class Fetcher. * + * @author "Federico De Faveri defaveri@isti.cnr.it" + * + * updated by Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * @param the generic type */ public class Fetcher implements Runnable, Closeable { protected Logger logger = Logger.getLogger(Fetcher.class); - + protected final int MAX_CONSECUTIVE_ATTEMPTS_ON_NULL = 5; protected FetchingBuffer buffer; protected CloseableIterator source; protected boolean complete = false; + /** + * Instantiates a new fetcher. + * + * @param source the source + * @param buffer the buffer + */ public Fetcher(CloseableIterator source, FetchingBuffer buffer) { this.source = source; this.complete = false; @@ -29,6 +39,8 @@ public class Fetcher implements Runnable, Closeable { } /** + * Gets the source. + * * @return the source */ public CloseableIterator getSource() { @@ -36,6 +48,8 @@ public class Fetcher implements Runnable, Closeable { } /** + * Sets the source. + * * @param source the source to set */ public void setSource(CloseableIterator source) { @@ -50,6 +64,7 @@ public class Fetcher implements Runnable, Closeable { T next = null; int count = 0; + int countNullItems = 0; try { while(source!=null && source.hasNext() && !complete) { @@ -58,26 +73,26 @@ public class Fetcher implements Runnable, Closeable { next = source.next(); if(next!=null){ - logger.trace("item "+count++ +" fetch new row: "+next.getId()); + logger.info("item "+count++ +" fetch new row: "+next.getId()); buffer.add(next); } else{ - logger.trace("fetch new row: null"); + countNullItems++; + logger.warn("fetch new row is null!! It is the number: "+countNullItems); + if(MAX_CONSECUTIVE_ATTEMPTS_ON_NULL==countNullItems){ + logger.warn("Fetched "+MAX_CONSECUTIVE_ATTEMPTS_ON_NULL+ " null rows, MAX ATTEMPTS reached, complete fetch true and closing stream!!"); + silentClose(); + } } } catch (Exception e) { logger.error("Error in source.next() " + e.getMessage(), e); - e.printStackTrace(); silentClose(); } - - } } catch (Exception e) { logger.error("Error in add row " + e.getMessage()); -// System.out.println("Error in add row " + e.getMessage()); -// e.printStackTrace(); silentClose(); } @@ -86,10 +101,11 @@ public class Fetcher implements Runnable, Closeable { logger.trace("exit fetch run - complete true"); complete = true; - -// System.out.println("#################################TOTAL " + count); } + /** + * Silent close. + */ protected void silentClose() { try { @@ -99,12 +115,20 @@ public class Fetcher implements Runnable, Closeable { } } + /* (non-Javadoc) + * @see java.io.Closeable#close() + */ public void close() throws IOException { complete = true; source.close(); } + /** + * Checks if is complete. + * + * @return true, if is complete + */ public boolean isComplete() { return complete; diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/FetchingSession.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/FetchingSession.java index 102dda5..49ea06f 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/FetchingSession.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/session/FetchingSession.java @@ -55,41 +55,33 @@ public class FetchingSession implements Closeable { public void startFetching() { fetcherThread = new Thread(fetcher); - logger.trace("###fetcherThread start"); + logger.info("fetcherThread: "+fetcherThread.getId()+" start..."); // System.out.println("#######fetcherThread start"); fetcherThread.start(); } public void close() throws IOException { - new Thread(){ @Override public void run() { try { - Long startTime = System.currentTimeMillis(); logger.trace("##new thread run for closing old fetcher... time: "+startTime); - fetcher.close(); - //logger.trace("###fetcherThread close - OK"); - Long endTime = System.currentTimeMillis() - startTime; String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime)); - logger.trace("##old fetcher has been closed.. in " + time); - + logger.info("fetcherThread: "+fetcherThread.getId()+" closed!"); } catch (IOException e) { logger.error("An error occurred in fetcher Thread close ",e); - e.printStackTrace(); } }; }.start(); } - public boolean isComplete() - { + public boolean isComplete(){ return fetcher.isComplete(); }