From 8f8a086d53713c7570cd244cc75720aabcf0b21c Mon Sep 17 00:00:00 2001 From: lhuxohl Date: Tue, 4 Jul 2023 20:29:25 +0200 Subject: [PATCH 1/4] add agents, apps to registry --- .../bco/api/graphql/schema/RegistrySchemaModule.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt index c3f96ee52a..aa7bdef9e6 100644 --- a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt +++ b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt @@ -24,6 +24,8 @@ import org.openbase.type.configuration.MetaConfigType import org.openbase.type.domotic.unit.UnitConfigType import org.openbase.type.domotic.unit.UnitConfigType.UnitConfig import org.openbase.type.domotic.unit.UnitFilterType +import org.openbase.type.domotic.unit.agent.AgentClassType +import org.openbase.type.domotic.unit.app.AppClassType import org.openbase.type.domotic.unit.gateway.GatewayClassType import org.openbase.type.geometry.PoseType import org.openbase.type.language.LabelType @@ -158,6 +160,16 @@ import java.util.concurrent.* fun gatewayClasses(): ImmutableList = ImmutableList.copyOf(Registries.getClassRegistry(true).gatewayClasses) + @Query("agentClasses") + @Throws(CouldNotPerformException::class, InterruptedException::class) + fun agentClasses(): ImmutableList = + ImmutableList.copyOf(Registries.getClassRegistry(true).agentClasses) + + @Query("appClasses") + @Throws(CouldNotPerformException::class, InterruptedException::class) + fun appClasses(): ImmutableList = + ImmutableList.copyOf(Registries.getClassRegistry(true).appClasses) + @Mutation("updateUnitConfig") @Throws(BCOGraphQLError::class) fun updateUnitConfig( From 437be8d53beaa964fa6c421f54c3cb0aa21562a3 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 4 Jul 2023 20:37:56 +0200 Subject: [PATCH 2/4] Implement labelString support for AppClass and AgentClass --- .../bco/api/graphql/schema/SchemaModificationsAdd.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java index 054cfb31de..2f704a8f0c 100644 --- a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java +++ b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java @@ -116,6 +116,16 @@ String addLabelBestMatch(UnitTemplate unitTemplate, DataFetchingEnvironment env) return getLabelForContext(unitTemplate.getLabel(), env.getContext()); } + @SchemaModification(addField = "labelString", onType = AgentClass.class) + String addLabelBestMatch(AgentClass agentClass, DataFetchingEnvironment env) { + return getLabelForContext(agentClass.getLabel(), env.getContext()); + } + + @SchemaModification(addField = "labelString", onType = AppClass.class) + String addLabelBestMatch(AppClass appClass, DataFetchingEnvironment env) { + return getLabelForContext(appClass.getLabel(), env.getContext()); + } + @SchemaModification(addField = "descriptionString", onType = UnitConfig.class) String addDescriptionBestMatch(UnitConfig unitConfig, DataFetchingEnvironment env) { return getTextForContext(unitConfig.getDescription(), env.getContext()); From 3a741a21e575e903f766544b0826162b22f703d5 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 4 Jul 2023 22:23:09 +0200 Subject: [PATCH 3/4] introduce service and unit template queries --- .../bco/api/graphql/schema/RegistrySchemaModule.kt | 12 ++++++++++++ .../api/graphql/schema/SchemaModificationsAdd.java | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt index aa7bdef9e6..aa0f40b500 100644 --- a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt +++ b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/RegistrySchemaModule.kt @@ -21,9 +21,11 @@ import org.openbase.jul.extension.type.processing.LabelProcessor.getBestMatch import org.openbase.jul.extension.type.processing.LabelProcessor.replace import org.openbase.type.configuration.EntryType import org.openbase.type.configuration.MetaConfigType +import org.openbase.type.domotic.service.ServiceTemplateType import org.openbase.type.domotic.unit.UnitConfigType import org.openbase.type.domotic.unit.UnitConfigType.UnitConfig import org.openbase.type.domotic.unit.UnitFilterType +import org.openbase.type.domotic.unit.UnitTemplateType import org.openbase.type.domotic.unit.agent.AgentClassType import org.openbase.type.domotic.unit.app.AppClassType import org.openbase.type.domotic.unit.gateway.GatewayClassType @@ -170,6 +172,16 @@ import java.util.concurrent.* fun appClasses(): ImmutableList = ImmutableList.copyOf(Registries.getClassRegistry(true).appClasses) + @Query("unitTemplates") + @Throws(CouldNotPerformException::class, InterruptedException::class) + fun unitTemplates(): ImmutableList = + ImmutableList.copyOf(Registries.getTemplateRegistry(true).unitTemplates) + + @Query("serviceTemplates") + @Throws(CouldNotPerformException::class, InterruptedException::class) + fun serviceTemplates(): ImmutableList = + ImmutableList.copyOf(Registries.getTemplateRegistry(true).serviceTemplates) + @Mutation("updateUnitConfig") @Throws(BCOGraphQLError::class) fun updateUnitConfig( diff --git a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java index 2f704a8f0c..3d00a34b78 100644 --- a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java +++ b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java @@ -245,6 +245,11 @@ String addLabelBestMatch(GatewayClass gatewayClass, DataFetchingEnvironment env) return getLabelForContext(gatewayClass.getLabel(), env.getContext()); } + @SchemaModification(addField = "labelString", onType = ServiceTemplate.class) + String addLabelBestMatch(ServiceTemplate serviceTemplate, DataFetchingEnvironment env) { + return getLabelForContext(serviceTemplate.getLabel(), env.getContext()); + } + @SchemaModification(addField = "descriptionString", onType = GatewayClass.class) String addDescriptionBestMatch(GatewayClass gatewayClass, DataFetchingEnvironment env) { return getTextForContext(gatewayClass.getDescription(), env.getContext()); From 090cad096a87a72597fe0017f280b13506da17e4 Mon Sep 17 00:00:00 2001 From: Divine Threepwood Date: Tue, 4 Jul 2023 22:27:44 +0200 Subject: [PATCH 4/4] code cleanup --- .../schema/SchemaModificationsAdd.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java index 3d00a34b78..6ac2d03a5a 100644 --- a/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java +++ b/module/api/graphql/src/main/java/org/openbase/bco/api/graphql/schema/SchemaModificationsAdd.java @@ -126,6 +126,21 @@ String addLabelBestMatch(AppClass appClass, DataFetchingEnvironment env) { return getLabelForContext(appClass.getLabel(), env.getContext()); } + @SchemaModification(addField = "labelString", onType = DeviceClass.class) + String addLabelBestMatch(DeviceClass deviceClass, DataFetchingEnvironment env) { + return getLabelForContext(deviceClass.getLabel(), env.getContext()); + } + + @SchemaModification(addField = "labelString", onType = GatewayClass.class) + String addLabelBestMatch(GatewayClass gatewayClass, DataFetchingEnvironment env) { + return getLabelForContext(gatewayClass.getLabel(), env.getContext()); + } + + @SchemaModification(addField = "labelString", onType = ServiceTemplate.class) + String addLabelBestMatch(ServiceTemplate serviceTemplate, DataFetchingEnvironment env) { + return getLabelForContext(serviceTemplate.getLabel(), env.getContext()); + } + @SchemaModification(addField = "descriptionString", onType = UnitConfig.class) String addDescriptionBestMatch(UnitConfig unitConfig, DataFetchingEnvironment env) { return getTextForContext(unitConfig.getDescription(), env.getContext()); @@ -235,21 +250,6 @@ private UnitConfig resolveParentTile(String locationId) throws NotAvailableExcep } } - @SchemaModification(addField = "labelString", onType = DeviceClass.class) - String addLabelBestMatch(DeviceClass deviceClass, DataFetchingEnvironment env) { - return getLabelForContext(deviceClass.getLabel(), env.getContext()); - } - - @SchemaModification(addField = "labelString", onType = GatewayClass.class) - String addLabelBestMatch(GatewayClass gatewayClass, DataFetchingEnvironment env) { - return getLabelForContext(gatewayClass.getLabel(), env.getContext()); - } - - @SchemaModification(addField = "labelString", onType = ServiceTemplate.class) - String addLabelBestMatch(ServiceTemplate serviceTemplate, DataFetchingEnvironment env) { - return getLabelForContext(serviceTemplate.getLabel(), env.getContext()); - } - @SchemaModification(addField = "descriptionString", onType = GatewayClass.class) String addDescriptionBestMatch(GatewayClass gatewayClass, DataFetchingEnvironment env) { return getTextForContext(gatewayClass.getDescription(), env.getContext());