Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit a25d1c2

Browse files
committed
Added requirements accessor for write access in framework code.
1 parent 92a0828 commit a25d1c2

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

src/main/scala/org/codeoverflow/chatoverflow/configuration/ConfigurationService.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import java.io.{File, PrintWriter}
44

55
import org.codeoverflow.chatoverflow.WithLogger
66
import org.codeoverflow.chatoverflow.api.io
7-
import org.codeoverflow.chatoverflow.api.plugin.configuration.{Requirement, Requirements}
7+
import org.codeoverflow.chatoverflow.api.plugin.configuration.Requirements
88
import org.codeoverflow.chatoverflow.connector.ConnectorRegistry
99
import org.codeoverflow.chatoverflow.framework.PluginFramework
1010
import org.codeoverflow.chatoverflow.instance.PluginInstanceRegistry
@@ -197,7 +197,7 @@ class ConfigurationService(val configFilePath: String) extends WithLogger {
197197
* Creates the xml for all requirements of a plugin.
198198
*/
199199
private def createRequirementXML(requirements: Requirements): Array[Elem] = {
200-
val requirementMap = requirements.getRequirementMap
200+
val requirementMap = requirements.getAccess.getRequirementMap
201201
val keys = requirementMap.keySet().toArray
202202

203203
for {
@@ -264,7 +264,7 @@ object ConfigurationService extends WithLogger {
264264
false
265265
} else {
266266
val requirements = instance.get.getRequirements
267-
val requirement = requirements.getRequirementById(requirementId)
267+
val requirement = requirements.getAccess.getRequirementById(requirementId)
268268

269269
if (!requirement.isPresent) {
270270
logger error s"Unable to find requirement with the given id '$requirementId'."
@@ -289,7 +289,7 @@ object ConfigurationService extends WithLogger {
289289

290290
try {
291291
val reqContent = loadedRequirementType.get.newInstance().asInstanceOf[io.Serializable]
292-
requirement.get.asInstanceOf[Requirement[io.Serializable]].set(reqContent)
292+
requirements.getAccess.setRequirementContent(requirementId, reqContent)
293293
reqContent.deserialize(content)
294294

295295
logger info s"Created requirement content for '$requirementId' and deserialized its content."

src/main/scala/org/codeoverflow/chatoverflow/instance/PluginInstance.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ class PluginInstance(val instanceName: String, pluginType: PluginType) extends W
9292
} else {
9393

9494
// Next, check for complete requirements
95-
if (!getRequirements.isComplete) {
95+
if (!getRequirements.getAccess.isComplete) {
9696
logger error s"At least one non-optional requirement of plugin '$instanceName' has not been set. Unable to start!"
97-
logger debug s"Not set requirements: ${getRequirements.getMissingRequirements.toArray.mkString(", ")}."
97+
logger debug s"Not set requirements: ${getRequirements.getAccess.getMissingRequirements.toArray.mkString(", ")}."
9898
false
9999

100100
} else {
@@ -103,7 +103,7 @@ class PluginInstance(val instanceName: String, pluginType: PluginType) extends W
103103
var allConnectorsReady = true
104104

105105
// Initialize all inputs & outputs
106-
val inputRequirements = getRequirements.getInputRequirements.toArray
106+
val inputRequirements = getRequirements.getAccess.getInputRequirements.toArray
107107
for (requirement <- inputRequirements) {
108108
try {
109109
val input = requirement.asInstanceOf[Requirement[Input]]
@@ -118,7 +118,7 @@ class PluginInstance(val instanceName: String, pluginType: PluginType) extends W
118118
logger warn s"Unable to initialize input '$requirement'. Exception: ${e.getMessage}"
119119
}
120120
}
121-
val outputRequirements = getRequirements.getOutputRequirements.toArray
121+
val outputRequirements = getRequirements.getAccess.getOutputRequirements.toArray
122122
for (requirement <- outputRequirements) {
123123
try {
124124
val output = requirement.asInstanceOf[Requirement[Output]]
@@ -177,12 +177,12 @@ class PluginInstance(val instanceName: String, pluginType: PluginType) extends W
177177
} finally {
178178

179179
// If the plugin ended or crashed, try to shut down the connectors
180-
val inputRequirements = getRequirements.getInputRequirements.toArray
180+
val inputRequirements = getRequirements.getAccess.getInputRequirements.toArray
181181
inputRequirements.filter(_.asInstanceOf[Requirement[_]].isSet).foreach(requirement => {
182182
requirement.asInstanceOf[Requirement[Input]].get().shutdown()
183183
})
184184

185-
val outputRequirements = getRequirements.getOutputRequirements.toArray
185+
val outputRequirements = getRequirements.getAccess.getOutputRequirements.toArray
186186
outputRequirements.filter(_.asInstanceOf[Requirement[_]].isSet).foreach(requirement => {
187187
requirement.asInstanceOf[Requirement[Output]].get().shutdown()
188188
})

src/main/scala/org/codeoverflow/chatoverflow/ui/web/rest/plugin/PluginInstanceController.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
4343
} else if (pluginInstance.get.isRunning) {
4444
ResultMessage(success = false, "Plugin instance already running.")
4545

46-
} else if (!pluginInstance.get.getRequirements.isComplete) {
46+
} else if (!pluginInstance.get.getRequirements.getAccess.isComplete) {
4747
ResultMessage(success = false, "Not all required requirements have been set.")
4848

4949
} else if (!pluginInstance.get.start()) {
@@ -93,7 +93,7 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
9393
returnSeq
9494

9595
} else {
96-
val requirements = pluginInstance.get.getRequirements.getRequirementMap
96+
val requirements = pluginInstance.get.getRequirements.getAccess.getRequirementMap
9797

9898
requirements.forEach((uniqueRequirementID, requirement) =>
9999
returnSeq += createRequirement(uniqueRequirementID, requirement))
@@ -113,7 +113,7 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
113113
if (pluginInstance.isEmpty) {
114114
Requirement("", "", isOptional = false, isSet = false, "", "")
115115
} else {
116-
val requirement = pluginInstance.get.getRequirements.getRequirementById(requirementID)
116+
val requirement = pluginInstance.get.getRequirements.getAccess.getRequirementById(requirementID)
117117

118118
if (!requirement.isPresent) {
119119
Requirement("", "", isOptional = false, isSet = false, "", "")
@@ -143,7 +143,7 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
143143
} else if (pluginInstance.get.isRunning) {
144144
ResultMessage(success = false, "Plugin is running.")
145145

146-
} else if (!pluginInstance.get.getRequirements.getRequirementById(requirementID).isPresent) {
146+
} else if (!pluginInstance.get.getRequirements.getAccess.getRequirementById(requirementID).isPresent) {
147147
ResultMessage(success = false, "Requirement not found.")
148148
} else {
149149

@@ -178,11 +178,11 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
178178
} else if (pluginInstance.get.isRunning) {
179179
ResultMessage(success = false, "Plugin is running.")
180180

181-
} else if (!pluginInstance.get.getRequirements.getRequirementById(requirementID).isPresent) {
181+
} else if (!pluginInstance.get.getRequirements.getAccess.getRequirementById(requirementID).isPresent) {
182182
ResultMessage(success = false, "Requirement not found.")
183183
} else {
184184

185-
if (!pluginInstance.get.getRequirements.unsetRequirementById(requirementID)) {
185+
if (!pluginInstance.get.getRequirements.getAccess.unsetRequirementById(requirementID)) {
186186

187187
ResultMessage(success = false, "Unable to remove the requirement. Already removed.")
188188
} else {
@@ -273,7 +273,7 @@ class PluginInstanceController(implicit val swagger: Swagger) extends JsonServle
273273
= {
274274
PluginInstance(pluginInstance.instanceName, pluginInstance.getPluginTypeName,
275275
pluginInstance.getPluginTypeAuthor, pluginInstance.isRunning,
276-
pluginInstance.getRequirements.getRequirementMap.keySet().asScala.toList,
276+
pluginInstance.getRequirements.getAccess.getRequirementMap.keySet().asScala.toList,
277277
pluginInstance.getPluginManager.getLogMessages
278278
.asScala.map(logMessage => PluginLogMessageDTO(logMessage.getMessage, logMessage.getTimestamp.toString)))
279279
}

0 commit comments

Comments
 (0)