Fixing bugs
This commit is contained in:
parent
651f42ab80
commit
0d0eb85644
|
@ -93,7 +93,7 @@ public class SmartExecutorInitializator implements ApplicationManager {
|
|||
try {
|
||||
logger.debug("Going to get Orphan Scheduled Tasks in scope {}", context);
|
||||
|
||||
List<ScheduledTask> scheduledTasks = smartExecutorPersistenceConnector.getOrphanScheduledTasks(pluginManager.getAvailablePlugins().keySet());
|
||||
List<ScheduledTask> scheduledTasks = smartExecutorPersistenceConnector.getScheduledTasks(pluginManager.getAvailablePlugins().keySet(), true);
|
||||
if(scheduledTasks.size()==0){
|
||||
logger.debug("No Orphan Scheduled Tasks this instance can take in charge in scope {}", context);
|
||||
}
|
||||
|
|
|
@ -181,14 +181,14 @@ public class OrientDBPersistenceConnector extends SmartExecutorPersistenceConnec
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ScheduledTask> getOrphanScheduledTasks(Collection<String> plugins)
|
||||
public List<ScheduledTask> getScheduledTasks(Collection<String> plugins, boolean onlyOrphan)
|
||||
throws SchedulePersistenceException {
|
||||
ODatabaseSession oDatabaseSession = null;
|
||||
try {
|
||||
oDatabaseSession = oDatabasePool.acquire();
|
||||
String type = ScheduledTask.class.getSimpleName();
|
||||
|
||||
String queryString = String.format("SELECT * FROM %s WHERE %s = '%s'", type, "scope",
|
||||
String queryString = String.format("SELECT * FROM %s WHERE %s = '%s'", type, "context",
|
||||
ContextUtility.getCurrentContext());
|
||||
if(plugins != null && plugins.size() != 0) {
|
||||
boolean first = true;
|
||||
|
@ -218,7 +218,11 @@ public class OrientDBPersistenceConnector extends SmartExecutorPersistenceConnec
|
|||
|
||||
ScheduledTask scheduledTask = ExtendedSEMapper.getInstance().unmarshal(ScheduledTask.class, json);
|
||||
try {
|
||||
if(isOrphan(scheduledTask)) {
|
||||
if(onlyOrphan) {
|
||||
if(isOrphan(scheduledTask)) {
|
||||
scheduledTasks.add(scheduledTask);
|
||||
}
|
||||
}else {
|
||||
scheduledTasks.add(scheduledTask);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
|
|
|
@ -102,14 +102,16 @@ public class RestSmartExecutor {
|
|||
|
||||
List<String> plugins = new ArrayList<>();
|
||||
|
||||
boolean orphan = false;
|
||||
if(pluginName.compareTo(RestConstants.ORPHAN_PATH_PARAM)!=0) {
|
||||
plugins.addAll(pluginManager.getAvailablePlugins().keySet());
|
||||
plugins.add(pluginName);
|
||||
|
||||
}else {
|
||||
// TODO check role
|
||||
plugins.addAll(pluginManager.getAvailablePlugins().keySet());
|
||||
orphan = true;
|
||||
}
|
||||
|
||||
List<ScheduledTask> scheduledTasks = persistenceConnector.getOrphanScheduledTasks(plugins);
|
||||
|
||||
List<ScheduledTask> scheduledTasks = persistenceConnector.getScheduledTasks(plugins, orphan);
|
||||
|
||||
/*
|
||||
* Using SEMapper because the server must not return sensitive information like token
|
||||
|
|
|
@ -22,7 +22,7 @@ public interface ScheduledTaskPersistence {
|
|||
* @throws SchedulePersistenceException
|
||||
* if fails
|
||||
*/
|
||||
public List<ScheduledTask> getOrphanScheduledTasks(Collection<String> plugins)
|
||||
public List<ScheduledTask> getScheduledTasks(Collection<String> plugins, boolean onlyOrphan)
|
||||
throws SchedulePersistenceException;
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
package org.gcube.vremanagement.executor.persistence;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -70,12 +71,14 @@ public class SmartExecutorPersistenceConnectorTest extends ContextTest {
|
|||
|
||||
@Test
|
||||
public void getAvailableScheduledTasksTest() throws Exception {
|
||||
ContextTest.setContextByName(ROOT);
|
||||
ContextTest.setContextByName("/gcube/devsec");
|
||||
ScheduledTaskPersistence stc = ScheduledTaskPersistenceFactory.getScheduledTaskPersistence();
|
||||
Assert.assertNotNull(stc);
|
||||
Assert.assertEquals(OrientDBPersistenceConnector.class, stc.getClass());
|
||||
|
||||
List<ScheduledTask> lc = stc.getOrphanScheduledTasks(null);
|
||||
List<String> plugins = new ArrayList<>();
|
||||
plugins.add("hello-world-se-plugin");
|
||||
List<ScheduledTask> lc = stc.getScheduledTasks(plugins, false);
|
||||
|
||||
logger.debug("Available Scheduled Tasks : {}", lc);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue