From 7aff389054ec335ae73ddc1c24fccb8653ce5d74 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Tue, 16 Mar 2021 12:35:51 -0700 Subject: [PATCH 01/11] tested with cimhub.lib --- cnf/ext/repositories.bnd | 2 +- gov.pnnl.goss.gridappsd/bnd.bnd | 2 +- gov.pnnl.goss.gridappsd/run.bnd.bndrun | 2 +- .../CIMDictionaryConfigurationHandler.java | 6 ++-- .../CIMFeederIndexConfigurationHandler.java | 4 +-- .../CIMSymbolsConfigurationHandler.java | 4 +-- .../DSSAllConfigurationHandler.java | 12 ++++---- .../DSSBaseConfigurationHandler.java | 14 +++++----- .../DSSCoordinateConfigurationHandler.java | 4 +-- .../GLDAllConfigurationHandler.java | 28 ++++++++++--------- .../GLDBaseConfigurationHandler.java | 11 ++++---- .../GLDLimitsConfigurationHandler.java | 12 ++++---- ...DSimulationOutputConfigurationHandler.java | 6 ++-- ...LDZiploadScheduleConfigurationHandler.java | 2 +- .../data/handlers/BlazegraphQueryHandler.java | 2 +- .../gridappsd/dto/ModelCreationConfig.java | 2 +- .../testmanager/TestManagerQueryFactory.java | 2 +- 17 files changed, 60 insertions(+), 55 deletions(-) diff --git a/cnf/ext/repositories.bnd b/cnf/ext/repositories.bnd index 2f2bc2eb5..60830456c 100644 --- a/cnf/ext/repositories.bnd +++ b/cnf/ext/repositories.bnd @@ -1,7 +1,7 @@ -plugin: \ aQute.bnd.deployer.repository.FixedIndexedRepo;name=GOSS Core;locations=https://raw.githubusercontent.com/GridOptics/GOSS/master/cnf/releaserepo/index.xml,\ aQute.bnd.deployer.repository.FixedIndexedRepo; name=GOSS Dependencies; locations=https://github.com/GridOptics/GOSS-Repository/raw/master/dependencies/index.xml.gz,\ - aQute.bnd.deployer.repository.FixedIndexedRepo;name=CIM to GLM;locations=https://raw.githubusercontent.com/GRIDAPPSD/Powergrid-Models/develop/cnf/release/index.xml,\ + aQute.bnd.deployer.repository.FixedIndexedRepo;name=CIMHub;locations=https://raw.githubusercontent.com/poorva1209/CIMHub/master/cnf/release/index.xml,\ aQute.bnd.deployer.repository.LocalIndexedRepo;name=Local;local=${workspace}/cnf/Local;pretty=true,\ aQute.bnd.deployer.repository.FixedIndexedRepo;name=BND Hub;locations=https://raw.githubusercontent.com/bndtools/bundle-hub/master/index.xml.gz,\ aQute.lib.deployer.FileRepo;name=Build;location=${workspace}/cnf/buildrepo;latest=false diff --git a/gov.pnnl.goss.gridappsd/bnd.bnd b/gov.pnnl.goss.gridappsd/bnd.bnd index 5239b5d2b..dc67adc97 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=19.1.1,\ + cimhub.lib;version=0.2.1,\ httpclient,\ com.bigdata.rdf,\ proven-client;version=0.3,\ diff --git a/gov.pnnl.goss.gridappsd/run.bnd.bndrun b/gov.pnnl.goss.gridappsd/run.bnd.bndrun index cb22bd921..db13ccd2a 100644 --- a/gov.pnnl.goss.gridappsd/run.bnd.bndrun +++ b/gov.pnnl.goss.gridappsd/run.bnd.bndrun @@ -76,7 +76,7 @@ httpcore,\ httpclient,\ xml-apis,\ - blazegraph.cim2glm;version=19.1.1,\ + cimhub.lib;version=0.2.1,\ org.eclipse.jetty.aggregate.jetty-all-server;version=7.6.9,\ com.bigdata.rdf,\ proven-message;version=0.4,\ diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMDictionaryConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMDictionaryConfigurationHandler.java index 0beadc038..6f8d803f5 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMDictionaryConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMDictionaryConfigurationHandler.java @@ -52,9 +52,9 @@ import com.google.gson.Gson; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.dto.ModelState; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.dto.ModelState; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMFeederIndexConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMFeederIndexConfigurationHandler.java index e4b8e29f8..418002297 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMFeederIndexConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMFeederIndexConfigurationHandler.java @@ -50,8 +50,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMSymbolsConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMSymbolsConfigurationHandler.java index f808c884d..54841851c 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMSymbolsConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/CIMSymbolsConfigurationHandler.java @@ -50,8 +50,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; 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 1284ebe90..2a353632c 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 @@ -39,9 +39,10 @@ ******************************************************************************/ package gov.pnnl.goss.gridappsd.configuration; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.dto.ModelState; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.CIMQuerySetter; +import gov.pnnl.gridappsd.cimhub.dto.ModelState; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; @@ -227,9 +228,10 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces //TODO add climate - //CIM2GLM utility uses + //cimhub utility uses CIMImporter cimImporter = new CIMImporter(); - cimImporter.start(queryHandler, CONFIGTARGET, fRoot, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen, modelState, false); + CIMQuerySetter qs = new CIMQuerySetter(); + cimImporter.start(queryHandler, qs, CONFIGTARGET, fRoot, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen, modelState, false); logManager.info(ProcessStatus.RUNNING, processId, "Finished generating all DSS configuration files."); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSBaseConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSBaseConfigurationHandler.java index 4f498c1a2..037c3c43e 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSBaseConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSBaseConfigurationHandler.java @@ -51,8 +51,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.LogManager; @@ -81,11 +81,11 @@ public class DSSBaseConfigurationHandler extends BaseConfigurationHandler implem @ServiceDependency private volatile LogManager logManager; - public static final String CIM2GLM_PREFIX = "model"; - public static final String DSSBASE_FILENAME = CIM2GLM_PREFIX+"_base.dss"; - public static final String DSSBUSXY_FILENAME = CIM2GLM_PREFIX+"_busxy.ds"; - public static final String DSSGUID_FILENAME = CIM2GLM_PREFIX+"_guid.ds"; - public static final String DSSDICTIONARY_FILENAME = CIM2GLM_PREFIX+"_dict.json"; + public static final String cimhub_PREFIX = "model"; + public static final String DSSBASE_FILENAME = cimhub_PREFIX+"_base.dss"; + public static final String DSSBUSXY_FILENAME = cimhub_PREFIX+"_busxy.ds"; + public static final String DSSGUID_FILENAME = cimhub_PREFIX+"_guid.ds"; + public static final String DSSDICTIONARY_FILENAME = cimhub_PREFIX+"_dict.json"; public static final String TYPENAME = "DSS Base"; diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSCoordinateConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSCoordinateConfigurationHandler.java index 893d7dddd..ecd6acd41 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSCoordinateConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/DSSCoordinateConfigurationHandler.java @@ -50,8 +50,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; 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 9478427f0..5ab76798e 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 @@ -59,9 +59,10 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.dto.ModelState; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.CIMQuerySetter; +import gov.pnnl.gridappsd.cimhub.dto.ModelState; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; @@ -121,13 +122,13 @@ public class GLDAllConfigurationHandler extends BaseConfigurationHandler impleme // public static final String CONFIGTARGET = "glm"; public static final String CONFIGTARGET = "both"; //will build files for both glm and dss - public static final String CIM2GLM_PREFIX = "model"; - public static final String BASE_FILENAME = CIM2GLM_PREFIX+"_base.glm"; - public static final String STARTUP_FILENAME = CIM2GLM_PREFIX+"_startup.glm"; - public static final String SCHEDULES_FILENAME = CIM2GLM_PREFIX+"_schedules.glm"; - public static final String MEASUREMENTOUTPUTS_FILENAME = CIM2GLM_PREFIX+"_outputs.json"; - public static final String DICTIONARY_FILENAME = CIM2GLM_PREFIX+"_dict.json"; - public static final String WEATHER_FILENAME = CIM2GLM_PREFIX+"_weather.csv"; + public static final String cimhub_PREFIX = "model"; + public static final String BASE_FILENAME = cimhub_PREFIX+"_base.glm"; + public static final String STARTUP_FILENAME = cimhub_PREFIX+"_startup.glm"; + public static final String SCHEDULES_FILENAME = cimhub_PREFIX+"_schedules.glm"; + public static final String MEASUREMENTOUTPUTS_FILENAME = cimhub_PREFIX+"_outputs.json"; + public static final String DICTIONARY_FILENAME = cimhub_PREFIX+"_dict.json"; + public static final String WEATHER_FILENAME = cimhub_PREFIX+"_weather.csv"; final double sqrt3 = Math.sqrt(3); @@ -234,7 +235,7 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces if(!dir.exists()){ dir.mkdirs(); } - String fRoot = dir.getAbsolutePath()+File.separator+CIM2GLM_PREFIX; + String fRoot = dir.getAbsolutePath()+File.separator+cimhub_PREFIX; boolean useHouses = GridAppsDConstants.getBooleanProperty(parameters, USEHOUSES, false); //TODO @@ -242,9 +243,10 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces boolean bHaveEventGen = true; - //CIM2GLM utility uses + //cimhub utility uses CIMImporter cimImporter = new CIMImporter(); - cimImporter.start(queryHandler, CONFIGTARGET, fRoot, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen, modelState, false); + CIMQuerySetter qs = new CIMQuerySetter(); + cimImporter.start(queryHandler, qs, CONFIGTARGET, fRoot, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen, modelState, false); String tempDataPath = dir.getAbsolutePath(); //If use climate, then generate gridlabd weather data file diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDBaseConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDBaseConfigurationHandler.java index 29ca20672..5b9bba99a 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDBaseConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDBaseConfigurationHandler.java @@ -50,8 +50,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; @@ -59,10 +57,12 @@ import gov.pnnl.goss.gridappsd.api.PowergridModelDataManager; import gov.pnnl.goss.gridappsd.api.SimulationManager; import gov.pnnl.goss.gridappsd.data.handlers.BlazegraphQueryHandler; -import gov.pnnl.goss.gridappsd.dto.LogMessage.LogLevel; import gov.pnnl.goss.gridappsd.dto.LogMessage.ProcessStatus; import gov.pnnl.goss.gridappsd.dto.SimulationContext; import gov.pnnl.goss.gridappsd.utils.GridAppsDConstants; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.CIMQuerySetter; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import pnnl.goss.core.Client; @@ -181,12 +181,13 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces boolean bHaveEventGen = true; CIMImporter cimImporter = new CIMImporter(); + CIMQuerySetter qs = new CIMQuerySetter(); //If the simulation info is available also write to file if(configFile!=null){ - cimImporter.generateGLMFile(queryHandler, new PrintWriter(new FileWriter(configFile)), scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen); + cimImporter.generateGLMFile(queryHandler, qs, new PrintWriter(new FileWriter(configFile)), scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses, zFraction, iFraction, pFraction, bHaveEventGen); } else { - cimImporter.generateGLMFile(queryHandler, out, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses,zFraction, iFraction, pFraction, bHaveEventGen); + cimImporter.generateGLMFile(queryHandler, qs, out, scheduleName, loadScale, bWantSched, bWantZip, bWantRandomFractions, useHouses,zFraction, iFraction, pFraction, bHaveEventGen); } if(configFile!=null){ //config was written to file, so return that diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDLimitsConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDLimitsConfigurationHandler.java index 753866f1d..88427b6a6 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDLimitsConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDLimitsConfigurationHandler.java @@ -49,9 +49,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.OperationalLimits; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.OperationalLimits; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.DataManager; @@ -88,8 +88,8 @@ public class GLDLimitsConfigurationHandler extends BaseConfigurationHandler impl public static final String RANDOMIZEFRACTIONS = "randomize_zipload_fractions"; public static final String MODELID = "model_id"; public static final String SIMULATIONID = "simulation_id"; - public static final String CIM2GLM_PREFIX = "model"; - public static final String LIMITS_FILENAME = CIM2GLM_PREFIX+"_limits.json"; + public static final String cimhub_PREFIX = "model"; + public static final String LIMITS_FILENAME = cimhub_PREFIX+"_limits.json"; public GLDLimitsConfigurationHandler() { } @@ -150,7 +150,7 @@ public void generateConfig(Properties parameters, PrintWriter out, String proces QueryHandler queryHandler = new BlazegraphQueryHandler(bgHost, logManager, processId, username); queryHandler.addFeederSelection(modelId); - //CIM2GLM utility uses + //cimhub utility uses CIMImporter cimImporter = new CIMImporter(); OperationalLimits oLimits = new OperationalLimits(); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDSimulationOutputConfigurationHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDSimulationOutputConfigurationHandler.java index 161176469..aaaec70dc 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDSimulationOutputConfigurationHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/configuration/GLDSimulationOutputConfigurationHandler.java @@ -67,9 +67,9 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; -import gov.pnnl.goss.cim2glm.CIMImporter; -import gov.pnnl.goss.cim2glm.dto.ModelState; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.CIMImporter; +import gov.pnnl.gridappsd.cimhub.dto.ModelState; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.api.LogManager; 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 f805414eb..20f8e173a 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 @@ -94,7 +94,7 @@ public class GLDZiploadScheduleConfigurationHandler extends public static final String ENDTIME_FILTER = "endTime"; public static final int TIMEFILTER_YEAR = 2018; - public static final String CIM2GLM_PREFIX = "model"; + public static final String cimhub_PREFIX = "model"; final double sqrt3 = Math.sqrt(3); diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/handlers/BlazegraphQueryHandler.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/handlers/BlazegraphQueryHandler.java index 2dfa031c2..6b12807a7 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/handlers/BlazegraphQueryHandler.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/data/handlers/BlazegraphQueryHandler.java @@ -48,7 +48,7 @@ import org.apache.jena.query.ResultSet; import org.apache.jena.query.ResultSetCloseable; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.LogManager; import gov.pnnl.goss.gridappsd.dto.LogMessage.LogLevel; import gov.pnnl.goss.gridappsd.dto.LogMessage.ProcessStatus; diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/dto/ModelCreationConfig.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/dto/ModelCreationConfig.java index 5b622c22e..7e8428da8 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/dto/ModelCreationConfig.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/dto/ModelCreationConfig.java @@ -44,7 +44,7 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import gov.pnnl.goss.cim2glm.dto.ModelState; +import gov.pnnl.gridappsd.cimhub.dto.ModelState; public class ModelCreationConfig implements Serializable{ diff --git a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/testmanager/TestManagerQueryFactory.java b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/testmanager/TestManagerQueryFactory.java index 411dfa887..dab2cb5b2 100644 --- a/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/testmanager/TestManagerQueryFactory.java +++ b/gov.pnnl.goss.gridappsd/src/gov/pnnl/goss/gridappsd/testmanager/TestManagerQueryFactory.java @@ -5,7 +5,7 @@ import org.apache.jena.query.QuerySolution; import org.apache.jena.query.ResultSet; -import gov.pnnl.goss.cim2glm.queryhandler.QueryHandler; +import gov.pnnl.gridappsd.cimhub.queryhandler.QueryHandler; import gov.pnnl.goss.gridappsd.api.ConfigurationManager; import gov.pnnl.goss.gridappsd.data.handlers.BlazegraphQueryHandler; From 078aadd2bc7054ce5653e0c9230e877e14756273 Mon Sep 17 00:00:00 2001 From: Tonya Martin Date: Tue, 16 Mar 2021 20:20:32 +0000 Subject: [PATCH 02/11] Authenticate with dockerhub to avoid pull rate limit --- .travis/build-docker.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.travis/build-docker.sh b/.travis/build-docker.sh index 5bb84d0b2..8f1edbe53 100755 --- a/.travis/build-docker.sh +++ b/.travis/build-docker.sh @@ -11,6 +11,19 @@ GITHASH=`git log -1 --pretty=format:"%h"` BUILD_VERSION="${TIMESTAMP}_${GITHASH}${TRAVIS_BRANCH:+:$TRAVIS_BRANCH}" echo "BUILD_VERSION $BUILD_VERSION" +if [ -n "$DOCKER_USERNAME" -a -n "$DOCKER_PASSWORD" ]; then + + echo " " + echo "Connecting to docker" + + echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin + status=$? + if [ $status -ne 0 ]; then + echo "Error: status $status" + exit 1 + fi +fi + # Pass gridappsd tag to docker-compose docker build --build-arg TIMESTAMP="${BUILD_VERSION}" -t ${IMAGE}:${TIMESTAMP}_${GITHASH} . status=$? From 80352ec3838a5253f4d9c8b76fe54387983f653b Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Tue, 16 Mar 2021 16:06:24 -0700 Subject: [PATCH 03/11] resolved energyconsumer phases issue --- gov.pnnl.goss.gridappsd/bnd.bnd | 2 +- gov.pnnl.goss.gridappsd/run.bnd.bndrun | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gov.pnnl.goss.gridappsd/bnd.bnd b/gov.pnnl.goss.gridappsd/bnd.bnd index dc67adc97..37cffe3b0 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,\ - cimhub.lib;version=0.2.1,\ + cimhub.lib;version=0.2.2,\ httpclient,\ com.bigdata.rdf,\ proven-client;version=0.3,\ diff --git a/gov.pnnl.goss.gridappsd/run.bnd.bndrun b/gov.pnnl.goss.gridappsd/run.bnd.bndrun index db13ccd2a..97af2fd32 100644 --- a/gov.pnnl.goss.gridappsd/run.bnd.bndrun +++ b/gov.pnnl.goss.gridappsd/run.bnd.bndrun @@ -76,7 +76,7 @@ httpcore,\ httpclient,\ xml-apis,\ - cimhub.lib;version=0.2.1,\ + cimhub.lib;version=0.2.2,\ org.eclipse.jetty.aggregate.jetty-all-server;version=7.6.9,\ com.bigdata.rdf,\ proven-message;version=0.4,\ From dfc51c00d59ea81af2030d9ec5c0091472a0a74b Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Wed, 17 Mar 2021 14:28:21 -0700 Subject: [PATCH 04/11] Update repositories.bnd --- cnf/ext/repositories.bnd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cnf/ext/repositories.bnd b/cnf/ext/repositories.bnd index 60830456c..8f5d2f0ed 100644 --- a/cnf/ext/repositories.bnd +++ b/cnf/ext/repositories.bnd @@ -1,7 +1,7 @@ -plugin: \ aQute.bnd.deployer.repository.FixedIndexedRepo;name=GOSS Core;locations=https://raw.githubusercontent.com/GridOptics/GOSS/master/cnf/releaserepo/index.xml,\ aQute.bnd.deployer.repository.FixedIndexedRepo; name=GOSS Dependencies; locations=https://github.com/GridOptics/GOSS-Repository/raw/master/dependencies/index.xml.gz,\ - aQute.bnd.deployer.repository.FixedIndexedRepo;name=CIMHub;locations=https://raw.githubusercontent.com/poorva1209/CIMHub/master/cnf/release/index.xml,\ + aQute.bnd.deployer.repository.FixedIndexedRepo;name=CIMHub;locations=https://raw.githubusercontent.com/GRIDAPPSD/CIMHub/master/cnf/release/index.xml,\ aQute.bnd.deployer.repository.LocalIndexedRepo;name=Local;local=${workspace}/cnf/Local;pretty=true,\ aQute.bnd.deployer.repository.FixedIndexedRepo;name=BND Hub;locations=https://raw.githubusercontent.com/bndtools/bundle-hub/master/index.xml.gz,\ aQute.lib.deployer.FileRepo;name=Build;location=${workspace}/cnf/buildrepo;latest=false From 8dedbcdbfda249a4dbc79d2f10740faf4d3156bf Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Thu, 18 Mar 2021 09:33:08 -0700 Subject: [PATCH 05/11] updated cimhub version --- gov.pnnl.goss.gridappsd/bnd.bnd | 2 +- gov.pnnl.goss.gridappsd/run.bnd.bndrun | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gov.pnnl.goss.gridappsd/bnd.bnd b/gov.pnnl.goss.gridappsd/bnd.bnd index 37cffe3b0..fbae5393f 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,\ - cimhub.lib;version=0.2.2,\ + cimhub.lib;version=0.2.3,\ httpclient,\ com.bigdata.rdf,\ proven-client;version=0.3,\ diff --git a/gov.pnnl.goss.gridappsd/run.bnd.bndrun b/gov.pnnl.goss.gridappsd/run.bnd.bndrun index 97af2fd32..81d4b32eb 100644 --- a/gov.pnnl.goss.gridappsd/run.bnd.bndrun +++ b/gov.pnnl.goss.gridappsd/run.bnd.bndrun @@ -76,7 +76,7 @@ httpcore,\ httpclient,\ xml-apis,\ - cimhub.lib;version=0.2.2,\ + cimhub.lib;version=0.2.3,\ org.eclipse.jetty.aggregate.jetty-all-server;version=7.6.9,\ com.bigdata.rdf,\ proven-message;version=0.4,\ From 7472bc2c7f223758827f3542790cd7fbbbc96dc0 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Sun, 21 Mar 2021 19:17:59 -0700 Subject: [PATCH 06/11] update cimhub to 0.2.4 --- gov.pnnl.goss.gridappsd/bnd.bnd | 2 +- gov.pnnl.goss.gridappsd/run.bnd.bndrun | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gov.pnnl.goss.gridappsd/bnd.bnd b/gov.pnnl.goss.gridappsd/bnd.bnd index fbae5393f..5e24e9dfc 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,\ - cimhub.lib;version=0.2.3,\ + cimhub.lib;version=0.2.4,\ httpclient,\ com.bigdata.rdf,\ proven-client;version=0.3,\ diff --git a/gov.pnnl.goss.gridappsd/run.bnd.bndrun b/gov.pnnl.goss.gridappsd/run.bnd.bndrun index 81d4b32eb..bd11bbf65 100644 --- a/gov.pnnl.goss.gridappsd/run.bnd.bndrun +++ b/gov.pnnl.goss.gridappsd/run.bnd.bndrun @@ -76,7 +76,7 @@ httpcore,\ httpclient,\ xml-apis,\ - cimhub.lib;version=0.2.3,\ + cimhub.lib;version=0.2.4,\ org.eclipse.jetty.aggregate.jetty-all-server;version=7.6.9,\ com.bigdata.rdf,\ proven-message;version=0.4,\ From 9416a20efe178b76a07cea080882c9e42df85a04 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Thu, 25 Mar 2021 14:08:47 -0700 Subject: [PATCH 07/11] blazegraph namespace changed --- gov.pnnl.goss.gridappsd/conf/pnnl.goss.gridappsd.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gov.pnnl.goss.gridappsd/conf/pnnl.goss.gridappsd.cfg b/gov.pnnl.goss.gridappsd/conf/pnnl.goss.gridappsd.cfg index 85375bc60..d530fe550 100644 --- a/gov.pnnl.goss.gridappsd/conf/pnnl.goss.gridappsd.cfg +++ b/gov.pnnl.goss.gridappsd/conf/pnnl.goss.gridappsd.cfg @@ -5,7 +5,7 @@ fncs.bridge.path = ./scripts/goss_fncs_bridge.py applications.path = /gridappsd/applications services.path = /gridappsd/services # Requires no / -blazegraph.ns.path = http://localhost:8889/bigdata/sparql +blazegraph.ns.path = http://localhost:8889/bigdata/namespace/kb/sparql # Uses docker composed blazegraph host here. Note this is not the # external address, but from inside one of the containers on the From 603f686e57f27707cdf78d83d03cf475829acdb2 Mon Sep 17 00:00:00 2001 From: afisher1 Date: Fri, 26 Mar 2021 14:52:32 -0700 Subject: [PATCH 08/11] changes to make a clean exit from helics platform when stop command is sent to the helics bridge. --- .../service/helics_goss_bridge.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/services/helicsgossbridge/service/helics_goss_bridge.py b/services/helicsgossbridge/service/helics_goss_bridge.py index 54cbd68f6..28a9c52e5 100644 --- a/services/helicsgossbridge/service/helics_goss_bridge.py +++ b/services/helicsgossbridge/service/helics_goss_bridge.py @@ -441,10 +441,6 @@ def on_message(self, headers, msg): log.info(message_str) self._gad_connection.send_simulation_status('CLOSED', message_str, 'INFO') self._stop_simulation = True - if federate_state == 2: - if self._simulation_finished == False: - helics.helicsFederateGlobalError(self._helics_federate, 1, "Stopping the simulation prematurely at operator's request!") - self._close_helics_connection() elif json_msg.get('command', '') == 'pause': if self._pause_simulation == True: log.warning('Pause command received but the simulation is already paused.') @@ -528,6 +524,8 @@ def run_simulation(self): measurement_message_count = 0 simulation_run_time_start = time.perf_counter() for current_time in range(simulation_length): + if self._stop_simulation == True: + break begin_time_step = time.perf_counter() federate_state = helics.helicsFederateGetState(self._helics_federate) if federate_state == 4: @@ -583,13 +581,11 @@ def run_simulation(self): log.debug(dbg_message) self._gad_connection.send_simulation_status('RUNNING', dbg_message, 'DEBUG') time.sleep(sleep_time) - federate_state = helics.helicsFederateGetState(self._helics_federate) if not self._stop_simulation: + federate_state = helics.helicsFederateGetState(self._helics_federate) self._simulation_time = current_time + 1 else: self._simulation_time = current_time - if federate_state == 2: - helics.helicsFederateGlobalError(self._helics_federate, 1, "Stopping the simulation prematurely at operator's request!") self._gad_connection.send("goss.gridappsd.cosim.timestamp.{}".format(self._simulation_id), json.dumps({"timestamp": self._simulation_time + simulation_start})) #forward messages from HELICS to GOSS if self._filter_all_measurements == False: @@ -609,9 +605,10 @@ def run_simulation(self): write_db_archive(ts, meas) if targz_file: targz_file.write((response_msg+"\n").encode('utf-8')) - if federate_state == 2: - helics.helicsFederateFinalize(self._helics_federate) - self._close_helics_connection() + if not self._stop_simulation: + if federate_state == 2: + helics.helicsFederateFinalize(self._helics_federate) + self._close_helics_connection() self._simulation_finished = True log.debug(f"Simulation finished in {time.perf_counter() - simulation_run_time_start} seconds.") message['command'] = 'simulationFinished' @@ -629,6 +626,9 @@ def run_simulation(self): helics.helicsFederateGlobalError(self._helics_federate, 1, message_str) self._close_helics_connection() finally: + if self._stop_simulation: + helics.helicsFederateGlobalError(self._helics_federate, 1, "Stopping the simulation prematurely at operator's request!") + self._close_helics_connection() if targz_file: targz_file.close() From e7eca72a8e51b17a568e7dc606ca85aa9db7bf97 Mon Sep 17 00:00:00 2001 From: shpoudel Date: Tue, 6 Apr 2021 18:47:17 -0700 Subject: [PATCH 09/11] Capacitor VA Measurements calculated using voltage and status --- .../service/helics_goss_bridge.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/services/helicsgossbridge/service/helics_goss_bridge.py b/services/helicsgossbridge/service/helics_goss_bridge.py index 54cbd68f6..bc32ee262 100644 --- a/services/helicsgossbridge/service/helics_goss_bridge.py +++ b/services/helicsgossbridge/service/helics_goss_bridge.py @@ -992,12 +992,28 @@ def _get_helics_bus_messages(self, measurement_filter): val_str = str(prop_val_str).split(" ")[0] conducting_equipment_type = str(conducting_equipment_type_str).split("_")[0] if conducting_equipment_type == "LinearShuntCompensator": - if property_name in ["shunt_"+phases,"voltage_"+phases]: + if property_name in ["voltage_"+phases]: val = complex(val_str) (mag,ang_rad) = cmath.polar(val) ang_deg = math.degrees(ang_rad) measurement["magnitude"] = mag measurement["angle"] = ang_deg + elif property_name in ["shunt_"+phases]: + # Need voltage value and switch status to compute the reactive power + prop_val_str = gld_properties_dict.get("voltage_"+phases, None) + val_strVolt = str(prop_val_str).split(" ")[0] + valVolt = complex(val_strVolt) + (magV,ang_radV) = cmath.polar(valVolt) + prop_val_str = gld_properties_dict.get("switch"+phases, None) + val_str_switch = str(prop_val_str).split(" ")[0] + status = 1 + if val_str_switch == "OPEN": + status = 0 + val = complex(val_str) + (mag,ang_rad) = cmath.polar(val) + ang_deg = math.degrees(ang_rad) + measurement["magnitude"] = mag * magV * magV * status + measurement["angle"] = ang_deg else: if val_str == "OPEN": measurement["value"] = 0 From 60bb8f96bc29b7df01e3af35a8f6b1f88dbddbd9 Mon Sep 17 00:00:00 2001 From: Tonya Martin Date: Tue, 13 Apr 2021 18:34:04 +0000 Subject: [PATCH 10/11] Only install packages specified in requirements.txt --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 34049c9e8..f59ed3c33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG TIMESTAMP RUN cd ${TEMP_DIR} \ && git clone https://github.com/GRIDAPPSD/gridappsd-python -b develop \ && cd gridappsd-python \ - && pip3 install . \ + && pip3 install -r requirements.txt \ && rm -rf /root/.cache/pip/wheels # Get the gridappsd-sensor-simulator from the proper repository From 2337f9089792ec683a637840141bd09e9aaa463c Mon Sep 17 00:00:00 2001 From: Tonya Martin Date: Tue, 13 Apr 2021 18:55:32 +0000 Subject: [PATCH 11/11] Install gridappsd-python --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index f59ed3c33..fa3fa100a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ RUN cd ${TEMP_DIR} \ && git clone https://github.com/GRIDAPPSD/gridappsd-python -b develop \ && cd gridappsd-python \ && pip3 install -r requirements.txt \ + && pip3 install . \ && rm -rf /root/.cache/pip/wheels # Get the gridappsd-sensor-simulator from the proper repository