diff --git a/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/AppManagerTest.java b/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/AppManagerTest.java index 49abfb04..89252d4c 100644 --- a/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/AppManagerTest.java +++ b/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/AppManagerTest.java @@ -69,7 +69,7 @@ public void sanity_ServerStarted() { /* - * File getSimulationFile(int simulationId, RequestSimulation powerSystemConfig) throws Exception; + * File getSimulationFile(String simulationId, RequestSimulation powerSystemConfig) throws Exception; String getConfigurationProperty(String key); */ diff --git a/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/ConfigurationManagerTest.java b/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/ConfigurationManagerTest.java index 5ea445d7..ea71dbda 100644 --- a/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/ConfigurationManagerTest.java +++ b/gov.pnnl.goss.gridappsd.test/src/gov/pnnl/goss/gridappsd/test/ConfigurationManagerTest.java @@ -125,7 +125,7 @@ public void sanity_ServerStarted() { /* - * File getSimulationFile(int simulationId, RequestSimulation powerSystemConfig) throws Exception; + * File getSimulationFile(String simulationId, RequestSimulation powerSystemConfig) throws Exception; String getConfigurationProperty(String key); */ diff --git a/gov.pnnl.goss.gridappsd/bnd.bnd b/gov.pnnl.goss.gridappsd/bnd.bnd index c677be22..91bbefee 100644 --- a/gov.pnnl.goss.gridappsd/bnd.bnd +++ b/gov.pnnl.goss.gridappsd/bnd.bnd @@ -29,7 +29,7 @@ osgi.enroute.base.api,\ org.mockito.mockito-all,\ httpcore,\ - blazegraph.cim2glm;version=18.0.3,\ + blazegraph.cim2glm;version=19.1.0,\ httpclient,\ com.bigdata.rdf,\ proven-client;version=0.2.3,\ diff --git a/gov.pnnl.goss.gridappsd/run.bnd.bndrun b/gov.pnnl.goss.gridappsd/run.bnd.bndrun index cb4174a7..4f564b03 100644 --- a/gov.pnnl.goss.gridappsd/run.bnd.bndrun +++ b/gov.pnnl.goss.gridappsd/run.bnd.bndrun @@ -74,7 +74,7 @@ httpcore,\ httpclient,\ xml-apis,\ - blazegraph.cim2glm;version=18.0.3,\ + blazegraph.cim2glm;version=19.1.0,\ org.eclipse.jetty.aggregate.jetty-all-server;version=7.6.9,\ javax.servlet-api,\ com.bigdata.rdf,\ diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/AppManager.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/AppManager.java index 450f2bda..9e3466a9 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/AppManager.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/AppManager.java @@ -58,7 +58,7 @@ public interface AppManager { * @param message * @throws Exception */ - void process(int processId, DataResponse event, Serializable message) throws Exception; + void process(String processId, DataResponse event, Serializable message) throws Exception; /** * Register a new app with GridAPPS-D app manager, registered apps will be persisted diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/ConfigurationManager.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/ConfigurationManager.java index 3af868c0..030e4880 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/ConfigurationManager.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/ConfigurationManager.java @@ -66,7 +66,7 @@ public interface ConfigurationManager { * @return * @throws Exception */ - File getSimulationFile(int simulationId, RequestSimulation powerSystemConfig) throws Exception; + File getSimulationFile(String simulationId, RequestSimulation powerSystemConfig) throws Exception; String getConfigurationProperty(String key); void registerConfigurationHandler(String type, ConfigurationHandler handler); void generateConfiguration(String type, Properties parameters, PrintWriter out, String processId, String username) throws Exception; diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/DataManager.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/DataManager.java index e7af5def..9e64d76a 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/DataManager.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/DataManager.java @@ -57,7 +57,7 @@ public interface DataManager { void registerDataManagerHandler(DataManagerHandler handler, String name); - Response processDataRequest(Serializable request, String type, int simulationId, String tempDataPath, String username) throws Exception; + Response processDataRequest(Serializable request, String type, String simulationId, String tempDataPath, String username) throws Exception; void registerConverter(String inputFormat, String outputFormat, DataFormatConverter converter); DataFormatConverter getConverter(String inputFormat, String outputFormat); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/GridAppsDataHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/GridAppsDataHandler.java index c7ca5e82..2e747d49 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/GridAppsDataHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/GridAppsDataHandler.java @@ -45,7 +45,7 @@ import pnnl.goss.core.Response; public interface GridAppsDataHandler { - public Response handle(Serializable request, int simulationId, String tempDataPath, LogManager logManager) throws Exception; + public Response handle(Serializable request, String simulationId, String tempDataPath, LogManager logManager) throws Exception; public String getDescription(); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/SimulationManager.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/SimulationManager.java index e54eb1f0..5c94e29c 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/SimulationManager.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/api/SimulationManager.java @@ -58,7 +58,7 @@ public interface SimulationManager { * @param simulationFile * @param simulationConfig Map simulationContext */ - void startSimulation(int simulationId, SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext); + void startSimulation(String simulationId, SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext); SimulationContext getSimulationContextForId(String simulationId); @@ -67,6 +67,5 @@ public interface SimulationManager { void pauseSimulation(String simulationId); void resumeSimulation(String simulationId); - - void startServiceDependencies(SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext); + } diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/app/AppManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/app/AppManagerImpl.java index 6f955129..10b91c49 100755 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/app/AppManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/app/AppManagerImpl.java @@ -148,7 +148,7 @@ public AppManagerImpl(LogManager logManager, } @Override - public void process(int processId, DataResponse event, Serializable message) + public void process(String processId, DataResponse event, Serializable message) throws Exception { // Get username from message's metadata e.g. event.getUserName() diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/ConfigurationManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/ConfigurationManagerImpl.java index b8cbd1c7..5c75dffb 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/ConfigurationManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/ConfigurationManagerImpl.java @@ -124,7 +124,7 @@ public void start(){ * @return */ @Override - public synchronized File getSimulationFile(int simulationId, RequestSimulation powerSystemConfig) throws Exception{ + public synchronized File getSimulationFile(String simulationId, RequestSimulation powerSystemConfig) throws Exception{ logManager.log( new LogMessage(this.getClass().getName(), new Integer( simulationId).toString(), new Date().getTime(), diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSAllConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSAllConfigurationHandler.java index 356df5ac..f8231e1e 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSAllConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSAllConfigurationHandler.java @@ -180,15 +180,15 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces bgHost = BlazegraphQueryHandler.DEFAULT_ENDPOINT; } /*String simulationID = GridAppsDConstants.getStringProperty(parameters, SIMULATIONID, null); - int simId = -1; + String simId = "1"; if(simulationID==null || simulationID.trim().length()==0){ logError("No "+SIMULATIONID+" parameter provided", processId, username, logManager); throw new Exception("Missing parameter "+SIMULATIONID); } try{ - simId = new Integer(simulationID); + simId = simulationID; }catch (Exception e) { - logError("Simulation ID not a valid integer "+simulationID+", defaulting to "+simId, simulationID, username, logManager); + logError("Simulation ID not a valid "+simulationID+", defaulting to "+simId, simulationID, username, logManager); }*/ ModelState modelState = new ModelState(); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDAllConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDAllConfigurationHandler.java index b1f6f4f2..80b3e6b9 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDAllConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDAllConfigurationHandler.java @@ -196,15 +196,15 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces bgHost = BlazegraphQueryHandler.DEFAULT_ENDPOINT; } String simulationID = GridAppsDConstants.getStringProperty(parameters, SIMULATIONID, null); - int simId = -1; + String simId = "1"; if(simulationID==null || simulationID.trim().length()==0){ logError("No "+SIMULATIONID+" parameter provided", processId, username, logManager); throw new Exception("Missing parameter "+SIMULATIONID); } try{ - simId = new Integer(simulationID); + simId = simulationID; }catch (Exception e) { - logError("Simulation ID not a valid integer "+simulationID+", defaulting to "+simId, simulationID, username, logManager); + logError("Simulation ID not a valid "+simulationID+", defaulting to "+simId, simulationID, username, logManager); } ModelState modelState = new ModelState(); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDZiploadScheduleConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDZiploadScheduleConfigurationHandler.java index 0592b87d..671e766f 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDZiploadScheduleConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDZiploadScheduleConfigurationHandler.java @@ -165,15 +165,15 @@ public void generateConfig(Properties parameters, PrintWriter out, String simulationID = GridAppsDConstants.getStringProperty(parameters, SIMULATIONID, null); String loadprofile = GridAppsDConstants.getStringProperty(parameters, SCHEDULENAME, "ieeezipload"); - int simId = -1; + String simId = "1"; if(simulationID==null || simulationID.trim().length()==0){ logError("No "+SIMULATIONID+" parameter provided", processId, username, logManager); throw new Exception("Missing parameter "+SIMULATIONID); } try{ - simId = new Integer(simulationID); + simId = simulationID; }catch (Exception e) { - logError("Simulation ID not a valid integer "+simulationID+", defaulting to "+simId, simulationID, username, logManager); + logError("Simulation ID not a valid "+simulationID+", defaulting to "+simId, simulationID, username, logManager); } RequestTimeseriesData request = new RequestTimeseriesData(); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/DataManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/DataManagerImpl.java index 31d0f8a8..89953d3a 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/DataManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/DataManagerImpl.java @@ -139,7 +139,7 @@ public void registerDataManagerHandler(DataManagerHandler handler, String name){ } @Override - public Response processDataRequest(Serializable request, String type, int simulationId, String tempDataPath, String username) throws Exception { + public Response processDataRequest(Serializable request, String type, String simulationId, String tempDataPath, String username) throws Exception { if(request!=null && type!=null){ diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/ProvenTimeSeriesDataManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/ProvenTimeSeriesDataManagerImpl.java index 4af1f73e..f8f161a8 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/ProvenTimeSeriesDataManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/ProvenTimeSeriesDataManagerImpl.java @@ -210,9 +210,7 @@ public void storeSimulationInput(String simulationId) throws Exception { @Override public void storeServiceOutput(String simulationId, String serviceId, String instanceId) throws Exception { - //TODO: Remove this once alarms are stored in Proven - if(!serviceId.equals("gridappsd-alarms")) - subscribeAndStoreDataFromTopic("/topic/"+GridAppsDConstants.topic_simulation+"."+serviceId+"."+simulationId+".output", serviceId, instanceId); + subscribeAndStoreDataFromTopic("/topic/"+GridAppsDConstants.topic_simulation+"."+serviceId+"."+simulationId+".output", serviceId, instanceId); } @Override diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessEvent.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessEvent.java index e7b4c837..6b36a429 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessEvent.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessEvent.java @@ -138,7 +138,7 @@ public void onMessage(Serializable message) { DataResponse event = (DataResponse)message; String username = event.getUsername(); - int processId = ProcessManagerImpl.generateProcessId(); + String processId = ProcessManagerImpl.generateProcessId(); this.debug(processId, "Received message: "+ event.getData() +" on topic "+event.getDestination()+" from user "+username, event.getDestination(), username); @@ -182,10 +182,10 @@ public void onMessage(Serializable message) { //if new simulation if (simRequest.simulation_request_type==null || simRequest.simulation_request_type.equals(SimulationRequestType.NEW)){ RequestSimulationResponse response = new RequestSimulationResponse(); - response.setSimulationId(Integer.toString(processId)); + response.setSimulationId(processId); //RequestSimulation config = RequestSimulation.parse(message.toString()); if(simRequest.getTest_config()!=null) - response.setEvents(testManager.sendEventsToSimulation(simRequest.getTest_config().getEvents(), Integer.toString(processId))); + response.setEvents(testManager.sendEventsToSimulation(simRequest.getTest_config().getEvents(), processId)); client.publish(event.getReplyDestination(), response); //TODO also verify that we have the correct sub-configurations as part of the request //newSimulationProcess.process(configurationManager, simulationManager, processId, event, event.getData(), appManager, serviceManager); @@ -310,7 +310,7 @@ public void onMessage(Serializable message) { } - private void sendData(Client client, Destination replyDestination, Serializable data, int processId, String username){ + private void sendData(Client client, Destination replyDestination, Serializable data, String processId, String username){ try { //Make sure it is sending back something in the data field for valid json (or if it is null maybe it should send error response instead???) if(data==null || data.toString().length()==0){ @@ -332,7 +332,7 @@ private void sendData(Client client, Destination replyDestination, Serializable } - private void sendError(Client client, Destination replyDestination, String error, int processId, String username){ + private void sendError(Client client, Destination replyDestination, String error, String processId, String username){ try { DataResponse r = new DataResponse(); r.setError(new DataError(error)); @@ -347,11 +347,11 @@ private void sendError(Client client, Destination replyDestination, String error } - private void debug(int processId, String message, String process_type, String username) { + private void debug(String processId, String message, String process_type, String username) { LogMessage logMessage = new LogMessage(); logMessage.setSource(this.getClass().getSimpleName()); - logMessage.setProcessId(Integer.toString(processId)); + logMessage.setProcessId(processId); logMessage.setLogLevel(LogLevel.DEBUG); logMessage.setProcessStatus(ProcessStatus.RUNNING); logMessage.setLogMessage(message); @@ -363,11 +363,11 @@ private void debug(int processId, String message, String process_type, String us } - private void error(int processId, String message, String username) { + private void error(String processId, String message, String username) { LogMessage logMessage = new LogMessage(); logMessage.setSource(this.getClass().getSimpleName()); - logMessage.setProcessId(Integer.toString(processId)); + logMessage.setProcessId(processId); logMessage.setLogLevel(LogLevel.ERROR); logMessage.setProcessStatus(ProcessStatus.ERROR); logMessage.setLogMessage(message); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessManagerImpl.java index f1266827..cf969bfa 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessManagerImpl.java @@ -184,11 +184,11 @@ public void start(){ * Generates and returns process id * @return process id */ - static int generateProcessId(){ - return Math.abs(new Random().nextInt()); + static String generateProcessId(){ + return Integer.toString(Math.abs(new Random().nextInt())); } - public int assignSimulationPort(int simulationId) throws Exception { + public int assignSimulationPort(String simulationId) throws Exception { Integer simIdKey = new Integer(simulationId); if (!simulationPorts.containsKey(simIdKey)) { int tempPort = 49152 + randPort.nextInt(16384); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessNewSimulationRequest.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessNewSimulationRequest.java index dc595f12..c402b24c 100755 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessNewSimulationRequest.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/process/ProcessNewSimulationRequest.java @@ -56,6 +56,7 @@ import gov.pnnl.goss.gridappsd.dto.ModelCreationConfig; import gov.pnnl.goss.gridappsd.dto.RequestSimulation; import gov.pnnl.goss.gridappsd.dto.ServiceConfig; +import gov.pnnl.goss.gridappsd.dto.ServiceInfo; import gov.pnnl.goss.gridappsd.dto.SimulationConfig; import gov.pnnl.goss.gridappsd.dto.SimulationContext; import gov.pnnl.goss.gridappsd.dto.SimulationOutput; @@ -90,7 +91,7 @@ public ProcessNewSimulationRequest(LogManager logManager) { private volatile LogManager logManager; public void process(ConfigurationManager configurationManager, - SimulationManager simulationManager, int simulationId, + SimulationManager simulationManager, String simulationId, DataResponse event, RequestSimulation simRequest, AppManager appManager, ServiceManager serviceManager, TestManager testManager, DataManager dataManager, String username) { @@ -100,7 +101,7 @@ public void process(ConfigurationManager configurationManager, } public void process(ConfigurationManager configurationManager, - SimulationManager simulationManager, int simulationId, + SimulationManager simulationManager, String simulationId, RequestSimulation simRequest, int simulationPort, AppManager appManager, ServiceManager serviceManager, TestManager testManager,DataManager dataManager, String username) { @@ -200,12 +201,12 @@ public void process(ConfigurationManager configurationManager, Properties simulationParams = generateSimulationParameters(simRequest); simulationParams.put(DSSAllConfigurationHandler.SIMULATIONID, simId); simulationParams.put(DSSAllConfigurationHandler.DIRECTORY, tempDataPathDir.getAbsolutePath()); - configurationManager.generateConfiguration(DSSAllConfigurationHandler.TYPENAME, simulationParams, new PrintWriter(new StringWriter()), new Integer(simulationId).toString(), username); + configurationManager.generateConfiguration(DSSAllConfigurationHandler.TYPENAME, simulationParams, new PrintWriter(new StringWriter()), simulationId, username); } else { //otherwise use gridlabd Properties simulationParams = generateSimulationParameters(simRequest); simulationParams.put(GLDAllConfigurationHandler.SIMULATIONID, simId); simulationParams.put(GLDAllConfigurationHandler.DIRECTORY, tempDataPathDir.getAbsolutePath()); - configurationManager.generateConfiguration(GLDAllConfigurationHandler.TYPENAME, simulationParams, new PrintWriter(new StringWriter()), new Integer(simulationId).toString(), username); + configurationManager.generateConfiguration(GLDAllConfigurationHandler.TYPENAME, simulationParams, new PrintWriter(new StringWriter()), simulationId, username); } logManager @@ -324,8 +325,16 @@ public void process(ConfigurationManager configurationManager, simContext.serviceInstanceIds = connectServiceInstanceIds; simContext.appInstanceIds = connectedAppInstanceIds; - dataManager.processDataRequest(simContext, "timeseries", simulationId, null, username); + ServiceInfo simulationServiceInfo = serviceManager.getService(simRequest.getSimulation_config().simulator); + List serviceDependencies = simulationServiceInfo.getService_dependencies(); + for(String service : serviceDependencies) { + String serviceInstanceId = serviceManager.startServiceForSimultion(service, null, simulationContext); + if(serviceInstanceId!=null) + simContext.addServiceInstanceIds(serviceInstanceId); + } + dataManager.processDataRequest(simContext, "timeseries", simulationId, null, username); + // start test if requested testManager.handleTestRequest(simRequest.getTest_config(), simContext); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationEvent.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationEvent.java index 58ea55e4..8abe49e1 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationEvent.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationEvent.java @@ -92,7 +92,7 @@ public void onMessage(Serializable message) { //Extract simulation id and simulation files from message //TODO: Parse message to get simulationId and simulationFile - int simulationId = 1; + String simulationId = "1"; String simulationFile = "filename"; //Start FNCS diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationManagerImpl.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationManagerImpl.java index b15a7285..b160e1ea 100755 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationManagerImpl.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationManagerImpl.java @@ -135,12 +135,12 @@ public void start() throws Exception{ * @param simulationFile */ @Override - public void startSimulation(int simulationId, SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext){ + public void startSimulation(String simulationId, SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext){ //TODO: remove simulationContext parameter after refactoring service manager try { logManager.log(new LogMessage(this.getClass().getSimpleName(), - Integer.toString(simulationId), + simulationId, new Date().getTime(), "Starting simulation "+simulationId, LogLevel.INFO, @@ -153,8 +153,6 @@ public void startSimulation(int simulationId, SimulationConfig simulationConfig, simContexts.put(simContext.getSimulationId(), simContext); - startServiceDependencies(simulationConfig, simContext, simulationContext); - SimulationProcess simProc = new SimulationProcess(simContext, serviceManager, simulationConfig, simulationId, logManager, appManager, client, securityConfig); // simProcesses.put(simContext.getSimulationId(), simProc); @@ -202,17 +200,5 @@ public SimulationContext getSimulationContextForId(String simulationId){ return this.simContexts.get(simulationId); } - @Override - public void startServiceDependencies(SimulationConfig simulationConfig, SimulationContext simContext, Map simulationContext){ - ServiceInfo simulationServiceInfo = serviceManager.getService(simulationConfig.simulator); - List serviceDependencies = simulationServiceInfo.getService_dependencies(); - for(String service : serviceDependencies) { - String serviceInstanceId = serviceManager.startServiceForSimultion(service, null, simulationContext); - if(serviceInstanceId!=null) - simContext.addServiceInstanceIds(serviceInstanceId); - } - - } - } diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationProcess.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationProcess.java index e015b525..2eb81d1e 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationProcess.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/simulation/SimulationProcess.java @@ -58,14 +58,14 @@ class SimulationTracker { SimulationContext simContext; ServiceManager serviceManager; SimulationConfig simulationConfig; - int simulationId; + String simulationId; LogManager logManager; AppManager appManager; Client client; SecurityConfig securityConfig; public SimulationProcess(SimulationContext simContext, ServiceManager serviceManager, - SimulationConfig simulationConfig, int simulationId, LogManager logManager, + SimulationConfig simulationConfig, String simulationId, LogManager logManager, AppManager appManager, Client client, SecurityConfig securityConfig){ this.simContext = simContext; this.serviceManager = serviceManager; @@ -105,7 +105,7 @@ public void run() { //Start GridLAB-D logManager.log(new LogMessage(this.getClass().getSimpleName(), - Integer.toString(simulationId), + simulationId, new Date().getTime(), simContext.getSimulatorPath()+" "+simulationFile, LogLevel.INFO, @@ -125,7 +125,7 @@ public void run() { //TODO: check if GridLAB-D is started correctly and send publish simulation status accordingly logManager.log(new LogMessage(this.getClass().getSimpleName(), - Integer.toString(simulationId), + simulationId, new Date().getTime(), "GridLAB-D started", LogLevel.INFO, @@ -138,7 +138,7 @@ public void run() { client.subscribe(GridAppsDConstants.topic_FNCS_output, gossFncsResponseEvent); logManager.log(new LogMessage(this.getClass().getSimpleName(), - Integer.toString(simulationId), + simulationId, new Date().getTime(), "Checking fncs is initialized, currently "+isInitialized.isInited, LogLevel.INFO, @@ -160,7 +160,7 @@ public void run() { if(initAttempts argCaptorSerializable= ArgumentCaptor.forClass(Serializable.class) ; Mockito.verify(newSimulationProcess).process(Mockito.any(), Mockito.any(), - Mockito.anyInt(),Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any(),Mockito.any()); + Mockito.anyString(),Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any(), Mockito.any(),Mockito.any(),Mockito.any()); String messageString = argCaptorSerializable.getValue().toString(); assertNotNull(RequestSimulation.parse(messageString)); diff --git a/gov.pnnl.goss.gridappsd/test/gov/pnnl/goss/gridappsd/ProcessNewSimulationRequestComponentTests.java b/gov.pnnl.goss.gridappsd/test/gov/pnnl/goss/gridappsd/ProcessNewSimulationRequestComponentTests.java index 85e3f50a..c6356527 100644 --- a/gov.pnnl.goss.gridappsd/test/gov/pnnl/goss/gridappsd/ProcessNewSimulationRequestComponentTests.java +++ b/gov.pnnl.goss.gridappsd/test/gov/pnnl/goss/gridappsd/ProcessNewSimulationRequestComponentTests.java @@ -103,13 +103,13 @@ public class ProcessNewSimulationRequestComponentTests { public void callsMadeWhen_processStarted(){ try { - Mockito.when(configurationManager.getSimulationFile(Mockito.anyInt(), Mockito.any())).thenReturn(new File("test")); + Mockito.when(configurationManager.getSimulationFile(Mockito.anyString(), Mockito.any())).thenReturn(new File("test")); } catch (Exception e) { e.printStackTrace(); } - int simulationId = Math.abs(new Random().nextInt()); + String simulationId = Integer.toString(Math.abs(new Random().nextInt())); ProcessNewSimulationRequest request = new ProcessNewSimulationRequest(logManager); RequestSimulation requestSimulation = RequestSimulation.parse(REQUEST_SIMULATION_CONFIG); request.process(configurationManager, simulationManager, simulationId, event, requestSimulation,appManager, serviceManager, testManager,dataManager,TestConstants.SYSTEM_USER_NAME); @@ -154,13 +154,13 @@ public void callsMadeWhen_processStarted(){ public void callsMadeWhen_processError(){ try { - Mockito.when(configurationManager.getSimulationFile(Mockito.anyInt(), Mockito.any())).thenReturn(new File("test")); + Mockito.when(configurationManager.getSimulationFile(Mockito.anyString(), Mockito.any())).thenReturn(new File("test")); } catch (Exception e) { e.printStackTrace(); } - int simulationId = Math.abs(new Random().nextInt()); + String simulationId = Integer.toString(Math.abs(new Random().nextInt())); ProcessNewSimulationRequest request = new ProcessNewSimulationRequest(logManager); RequestSimulation requestSimulation = RequestSimulation.parse(REQUEST_SIMULATION_CONFIG); requestSimulation.getPower_system_config().setGeographicalRegion_name("Bad"); @@ -192,13 +192,13 @@ public void callsMadeWhen_processError(){ public void callsMadeWhen_processErrorBecauseNullConfig(){ try { - Mockito.when(configurationManager.getSimulationFile(Mockito.anyInt(), Mockito.any())).thenReturn(new File("test")); + Mockito.when(configurationManager.getSimulationFile(Mockito.anyString(), Mockito.any())).thenReturn(new File("test")); } catch (Exception e) { e.printStackTrace(); } - int simulationId = Math.abs(new Random().nextInt()); + String simulationId = Integer.toString(Math.abs(new Random().nextInt())); ProcessNewSimulationRequest request = new ProcessNewSimulationRequest(logManager); request.process(configurationManager, simulationManager, simulationId, event, null, appManager, serviceManager, testManager,dataManager,TestConstants.SYSTEM_USER_NAME); @@ -229,13 +229,13 @@ public void callsMadeWhen_processErrorBecauseNullConfig(){ public void callsMadeWhen_processErrorBecauseNullSimulationFile(){ try { - Mockito.when(configurationManager.getSimulationFile(Mockito.anyInt(), Mockito.any())).thenReturn(null); + Mockito.when(configurationManager.getSimulationFile(Mockito.anyString(), Mockito.any())).thenReturn(null); } catch (Exception e) { e.printStackTrace(); } - int simulationId = Math.abs(new Random().nextInt()); + String simulationId = Integer.toString(Math.abs(new Random().nextInt())); ProcessNewSimulationRequest request = new ProcessNewSimulationRequest(logManager); RequestSimulation requestSimulation = RequestSimulation.parse(REQUEST_SIMULATION_CONFIG); request.process(configurationManager, simulationManager, simulationId, event, requestSimulation,appManager, serviceManager, testManager, dataManager,TestConstants.SYSTEM_USER_NAME);