the closing of fetching thread has been updated
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/speciesdiscovery@70778 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
fe583ee0af
commit
a8a203bb1c
|
@ -824,6 +824,11 @@ public class SearchController {
|
||||||
|
|
||||||
searchBorderLayoutPanel.getSpeciesCenterPanel().setMaskGridPanel(mask);
|
searchBorderLayoutPanel.getSpeciesCenterPanel().setMaskGridPanel(mask);
|
||||||
|
|
||||||
|
if(mask)
|
||||||
|
searchBorderLayoutPanel.getSpeciesWestPanel().mask();
|
||||||
|
else
|
||||||
|
searchBorderLayoutPanel.getSpeciesWestPanel().unmask();
|
||||||
|
|
||||||
searchBorderLayoutPanel.getSpeciesNorthPanel().activeButtonSearch(!mask);
|
searchBorderLayoutPanel.getSpeciesNorthPanel().activeButtonSearch(!mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -238,13 +238,13 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T
|
||||||
CloseableIterator<ResultElement> input = taxonomyService.searchByQuery(query);
|
CloseableIterator<ResultElement> input = taxonomyService.searchByQuery(query);
|
||||||
|
|
||||||
//DEBUG
|
//DEBUG
|
||||||
System.out.println("returned input stream by service...");
|
// System.out.println("service return iterator searched...");
|
||||||
logger.trace("returned input stream by service...");
|
logger.trace("service return iterator searched...");
|
||||||
|
|
||||||
SearchResultType resultType = QueryUtil.getQueryResultType(query);
|
SearchResultType resultType = QueryUtil.getQueryResultType(query);
|
||||||
CloseableIterator<FetchingElement> output = IteratorChainBuilder.buildChain(input, resultType, aslSession);
|
CloseableIterator<FetchingElement> output = IteratorChainBuilder.buildChain(input, resultType, aslSession);
|
||||||
FetchingSessionUtil.createFetchingSession(output, resultType, aslSession);
|
FetchingSessionUtil.createFetchingSession(output, resultType, aslSession);
|
||||||
|
logger.trace("creating fetching session completed!");
|
||||||
return resultType;
|
return resultType;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -286,6 +286,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T
|
||||||
if(daoTaxonomyRow!=null)
|
if(daoTaxonomyRow!=null)
|
||||||
daoTaxonomyRow.removeAll();
|
daoTaxonomyRow.removeAll();
|
||||||
|
|
||||||
|
logger.trace("delete all row from Dao's - completed");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("Error in delete all row");
|
logger.error("Error in delete all row");
|
||||||
throw new Exception("Error in delete all row" + e.getCause(), e);
|
throw new Exception("Error in delete all row" + e.getCause(), e);
|
||||||
|
@ -624,7 +625,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public void stopSearchWithoutRemove() throws SearchServiceException {
|
public void stopSearchWithoutRemove() throws SearchServiceException {
|
||||||
logger.trace("stopSearch()");
|
logger.trace("stopSearch without Remove");
|
||||||
|
|
||||||
ASLSession session = getASLSession();
|
ASLSession session = getASLSession();
|
||||||
//we safely get the session if exists
|
//we safely get the session if exists
|
||||||
|
@ -644,7 +645,7 @@ public class TaxonomySearchServiceImpl extends RemoteServiceServlet implements T
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void stopSearch() throws SearchServiceException {
|
public void stopSearch() throws SearchServiceException {
|
||||||
logger.trace("stopSearch()");
|
logger.trace("stopSearch");
|
||||||
|
|
||||||
ASLSession session = getASLSession();
|
ASLSession session = getASLSession();
|
||||||
FetchingSession<? extends FetchingElement> searchSession = SessionUtil.getCurrentSearchSession(session);
|
FetchingSession<? extends FetchingElement> searchSession = SessionUtil.getCurrentSearchSession(session);
|
||||||
|
|
|
@ -104,7 +104,7 @@ public class SpeciesService {
|
||||||
logger.trace("searchByFilters searchTerm: "+searchTerm+ " usearchFilters: "+searchFilters);
|
logger.trace("searchByFilters searchTerm: "+searchTerm+ " usearchFilters: "+searchFilters);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
System.out.println("query building...");
|
logger.trace("query building...");
|
||||||
String query = QueryBuilder.buildQuery(searchTerm, searchType, searchFilters);
|
String query = QueryBuilder.buildQuery(searchTerm, searchType, searchFilters);
|
||||||
// System.out.println("query build - OK " + query);
|
// System.out.println("query build - OK " + query);
|
||||||
logger.trace("query build - OK " + query);
|
logger.trace("query build - OK " + query);
|
||||||
|
@ -146,7 +146,7 @@ public class SpeciesService {
|
||||||
|
|
||||||
|
|
||||||
public CloseableIterator<ResultElement> searchByQuery(String query) throws SearchServiceException {
|
public CloseableIterator<ResultElement> searchByQuery(String query) throws SearchServiceException {
|
||||||
logger.trace("searchByQuery query: "+query);
|
logger.trace("search by Query - query is: "+query);
|
||||||
// System.out.println("searchByQuery query: "+query);
|
// System.out.println("searchByQuery query: "+query);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -6,6 +6,7 @@ package org.gcube.portlets.user.speciesdiscovery.server.session;
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.gcube.portlets.user.speciesdiscovery.server.stream.Aggregator;
|
import org.gcube.portlets.user.speciesdiscovery.server.stream.Aggregator;
|
||||||
|
@ -61,10 +62,30 @@ public class FetchingSession<T extends FetchingElement> implements Closeable {
|
||||||
|
|
||||||
public void close() throws IOException
|
public void close() throws IOException
|
||||||
{
|
{
|
||||||
logger.trace("fetcherThread close...");
|
|
||||||
fetcher.close();
|
new Thread(){
|
||||||
// logger.trace("###fetcherThread close - OK");
|
@Override
|
||||||
logger.trace("###fetcherThread close - OK");
|
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);
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("An error occurred in fetcher Thread close ",e);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}.start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isComplete()
|
public boolean isComplete()
|
||||||
|
|
Reference in New Issue