diff --git a/eraser-base/src/main/jastadd/MachineLearning.jrag b/eraser-base/src/main/jastadd/MachineLearning.jrag index e584d8f2f6b9f1b2b0ce140a46c005b32887e1dd..26dd3fbb319a535fcc9b5350a944754c104159c9 100644 --- a/eraser-base/src/main/jastadd/MachineLearning.jrag +++ b/eraser-base/src/main/jastadd/MachineLearning.jrag @@ -22,7 +22,7 @@ aspect MachineLearning { //--- currentActivity --- syn java.util.Optional<Activity> Root.currentActivity() { - return resolveActivity((int) getOpenHAB2Model().getActivityItem().getState()); + return resolveActivity((int) getSmartHomeEntityModel().getActivityItem().getState()); } private int Root.extractActivityIdentifier(List<ItemPreference> preferences) { if (preferences.isEmpty()) { @@ -72,7 +72,7 @@ aspect MachineLearning { public void DummyMachineLearningModel.connectItems(List<String> itemNames) { logger.info("Storing items to connect"); for (String itemName : itemNames) { - JavaUtils.ifPresentOrElse(getRoot().getOpenHAB2Model().resolveItem(itemName), + JavaUtils.ifPresentOrElse(getRoot().getSmartHomeEntityModel().resolveItem(itemName), this::addItem, () -> logger.warn("Could not resolve item '{}'", itemName)); } diff --git a/eraser-base/src/main/jastadd/ModelStatistics.jrag b/eraser-base/src/main/jastadd/ModelStatistics.jrag index 443635f1e2f3ceb71785e5977d43ba27f55c2b6c..9ed07bd1947dd5c83792f7371d2c209e88ea3329 100644 --- a/eraser-base/src/main/jastadd/ModelStatistics.jrag +++ b/eraser-base/src/main/jastadd/ModelStatistics.jrag @@ -1,7 +1,7 @@ aspect ModelStatistics { //--- numChannels --- - syn int OpenHAB2Model.numChannels() { + syn int SmartHomeEntityModel.numChannels() { int sum = 0; for (Thing thing : getThingList()) { sum += thing.getNumChannel(); @@ -10,7 +10,7 @@ aspect ModelStatistics { } //--- description --- - syn String OpenHAB2Model.description() = "[" + syn String SmartHomeEntityModel.description() = "[" + this.getNumThingType() + " thing type(s), " + this.getNumChannelType() + " channel type(s), " + this.numChannels() + " channel(s), " diff --git a/eraser-base/src/main/jastadd/Navigation.jrag b/eraser-base/src/main/jastadd/Navigation.jrag index 69592c1bf0b980b6287cb28d10b7b131bd4383ef..12f520c3077f50291f1781072b4f4e187d4efc00 100644 --- a/eraser-base/src/main/jastadd/Navigation.jrag +++ b/eraser-base/src/main/jastadd/Navigation.jrag @@ -1,36 +1,36 @@ aspect Navigation { - syn Comparator<ModelElement> OpenHAB2Model.modelElementComparator() { + syn Comparator<ModelElement> SmartHomeEntityModel.modelElementComparator() { return (e1, e2) -> (e1.getID().compareTo(e2.getID())); } //--- items --- - syn java.util.List<Item> OpenHAB2Model.items() { + syn java.util.List<Item> SmartHomeEntityModel.items() { java.util.List<Item> result = new java.util.ArrayList<>(); addItems(result, getGroupList()); return result; } - private void OpenHAB2Model.addItems(java.util.List<Item> result, JastAddList<Group> groups) { + private void SmartHomeEntityModel.addItems(java.util.List<Item> result, JastAddList<Group> groups) { groups.forEach(group -> group.getItemList().forEach(item -> result.add(item))); } //--- parameters --- - syn java.util.Set<Parameter> OpenHAB2Model.parameters() { + syn java.util.Set<Parameter> SmartHomeEntityModel.parameters() { java.util.Set<Parameter> result = new java.util.TreeSet<>(modelElementComparator()); getThingTypeList().forEach(tt -> tt.getParameterList().forEach(parameter -> result.add(parameter))); return result; } //--- channels --- - syn java.util.Set<Channel> OpenHAB2Model.channels() { + syn java.util.Set<Channel> SmartHomeEntityModel.channels() { java.util.Set<Channel> result = new java.util.TreeSet<>(modelElementComparator()); getThingList().forEach(thing -> thing.getChannelList().forEach(channel -> result.add(channel))); return result; } //--- resolveThingType --- - syn java.util.Optional<ThingType> OpenHAB2Model.resolveThingType(String thingTypeId) { + syn java.util.Optional<ThingType> SmartHomeEntityModel.resolveThingType(String thingTypeId) { for (ThingType thingType : this.getThingTypeList()) { if (thingType.getID().equals(thingTypeId)) { return java.util.Optional.of(thingType); @@ -40,7 +40,7 @@ aspect Navigation { } //--- resolveChannel --- - syn java.util.Optional<Channel> OpenHAB2Model.resolveChannel(String channelId) { + syn java.util.Optional<Channel> SmartHomeEntityModel.resolveChannel(String channelId) { for (Thing thing : this.getThingList()) { for (Channel channel : thing.getChannelList()) { if (channel.getID().equals(channelId)) { @@ -52,7 +52,7 @@ aspect Navigation { } //--- resolveChannelType --- - syn java.util.Optional<ChannelType> OpenHAB2Model.resolveChannelType(String channelTypeId) { + syn java.util.Optional<ChannelType> SmartHomeEntityModel.resolveChannelType(String channelTypeId) { for (ChannelType channelType : this.getChannelTypeList()) { if (channelType.getID().equals(channelTypeId)) { return java.util.Optional.of(channelType); @@ -62,7 +62,7 @@ aspect Navigation { } //--- resolveItem --- - syn java.util.Optional<Item> OpenHAB2Model.resolveItem(String itemId) { + syn java.util.Optional<Item> SmartHomeEntityModel.resolveItem(String itemId) { if ("activity".equals(itemId)) { return Optional.of(getActivityItem()); } @@ -75,7 +75,7 @@ aspect Navigation { } //--- resolveGroup --- - syn java.util.Optional<Group> OpenHAB2Model.resolveGroup(String groupId) { + syn java.util.Optional<Group> SmartHomeEntityModel.resolveGroup(String groupId) { for (Group group : this.getGroupList()) { if (group.getID().equals(groupId)) { return java.util.Optional.of(group); @@ -90,7 +90,7 @@ aspect Navigation { } //--- resolveItemCategory --- - syn java.util.Optional<ItemCategory> OpenHAB2Model.resolveItemCategory(String categoryName) { + syn java.util.Optional<ItemCategory> SmartHomeEntityModel.resolveItemCategory(String categoryName) { for (ItemCategory category : getItemCategoryList()) { if (category.getName().equals(categoryName)) { return java.util.Optional.of(category); @@ -139,7 +139,7 @@ aspect Navigation { //--- getRoot --- inh Root ASTNode.getRoot(); - eq Root.getOpenHAB2Model().getRoot() = this; + eq Root.getSmartHomeEntityModel().getRoot() = this; eq Root.getMqttRoot().getRoot() = this; eq Root.getInfluxRoot().getRoot() = this; eq Root.getMachineLearningRoot().getRoot() = this; diff --git a/eraser-base/src/main/jastadd/NeuralNetwork.jrag b/eraser-base/src/main/jastadd/NeuralNetwork.jrag index e673b69a1ea95c386320630fae1c8152cfe9cf78..999031dd8ad2260fff1db1cdfa2ec69579a706a2 100644 --- a/eraser-base/src/main/jastadd/NeuralNetwork.jrag +++ b/eraser-base/src/main/jastadd/NeuralNetwork.jrag @@ -100,7 +100,7 @@ aspect NeuralNetwork { } String itemName = itemNames.get(i); InputNeuron neuron = getInputNeuron(i); - JavaUtils.ifPresentOrElse(getRoot().getOpenHAB2Model().resolveItem(itemName), + JavaUtils.ifPresentOrElse(getRoot().getSmartHomeEntityModel().resolveItem(itemName), neuron::setItem, () -> logger.warn("Could not resolve item '{}'", itemName)); } diff --git a/eraser-base/src/main/jastadd/Printing.jrag b/eraser-base/src/main/jastadd/Printing.jrag index 7402973f563eb21924f1f54a54ae8dc6d2bea848..fec6c4abfb0a9761e4970d3881adeead29a9464a 100644 --- a/eraser-base/src/main/jastadd/Printing.jrag +++ b/eraser-base/src/main/jastadd/Printing.jrag @@ -5,15 +5,15 @@ aspect Printing { syn String Root.prettyPrint() { StringBuilder sb = new StringBuilder(); - sb.append(getOpenHAB2Model().prettyPrint()); + sb.append(getSmartHomeEntityModel().prettyPrint()); sb.append(getMqttRoot().prettyPrint()); sb.append(getInfluxRoot().prettyPrint()); sb.append(getMachineLearningRoot().prettyPrint()); return sb.toString(); } -//--- OpenHAB2Model.prettyPrint() --- - syn String OpenHAB2Model.prettyPrint() { +//--- SmartHomeEntityModel.prettyPrint() --- + syn String SmartHomeEntityModel.prettyPrint() { StringBuilder sb = new StringBuilder(); for (Thing t : getThingList()) { sb.append(t.prettyPrint()); diff --git a/eraser-base/src/main/jastadd/Util.jrag b/eraser-base/src/main/jastadd/Util.jrag index b038ca0dfae51d7bbea748086965b78e40f0c3e6..de0dfb9ef17a41f46885ca2432ced96dd5b5c449 100644 --- a/eraser-base/src/main/jastadd/Util.jrag +++ b/eraser-base/src/main/jastadd/Util.jrag @@ -28,7 +28,7 @@ aspect Util { public static Root Root.createEmptyRoot() { Root model = new Root(); - model.setOpenHAB2Model(new OpenHAB2Model()); + model.setSmartHomeEntityModel(new SmartHomeEntityModel()); model.setMqttRoot(new MqttRoot()); model.setInfluxRoot(InfluxRoot.createDefault()); model.setMachineLearningRoot(new MachineLearningRoot()); diff --git a/eraser-base/src/main/jastadd/eraser.parser b/eraser-base/src/main/jastadd/eraser.parser index 9934302f129072e5165966d34a4300281312fdbd..0cc98445f2d2ad28c4288ed20435c5e1dea6acc4 100644 --- a/eraser-base/src/main/jastadd/eraser.parser +++ b/eraser-base/src/main/jastadd/eraser.parser @@ -28,12 +28,12 @@ import java.util.HashMap; %goal logical_expression; Root goal = - thing.t goal.r {: insertZero(r.getOpenHAB2Model().getThingList(), t); return r; :} + thing.t goal.r {: insertZero(r.getSmartHomeEntityModel().getThingList(), t); return r; :} | item.i goal.r {: return r; :} - | group.g goal.r {: insertZero(r.getOpenHAB2Model().getGroupList(), g); return r; :} - | thing_type.tt goal.r {: insertZero(r.getOpenHAB2Model().getThingTypeList(), tt); return r; :} + | group.g goal.r {: insertZero(r.getSmartHomeEntityModel().getGroupList(), g); return r; :} + | thing_type.tt goal.r {: insertZero(r.getSmartHomeEntityModel().getThingTypeList(), tt); return r; :} | parameter goal.r {: return r; :} - | channel_type.ct goal.r {: insertZero(r.getOpenHAB2Model().getChannelTypeList(), ct); return r; :} + | channel_type.ct goal.r {: insertZero(r.getSmartHomeEntityModel().getChannelTypeList(), ct); return r; :} | channel.c goal.r {: return r; :} | mqtt_root.mr goal.r {: r.setMqttRoot(mr); return r; :} | influx_root.ir goal.r {: r.setInfluxRoot(ir); return r; :} diff --git a/eraser-base/src/main/jastadd/main.relast b/eraser-base/src/main/jastadd/main.relast index 066ffbbc6f4eeb18930c645d246cb57112a2c8a9..b9fd3e6ca271b94dd0a59c1f596c3e4cad241d58 100644 --- a/eraser-base/src/main/jastadd/main.relast +++ b/eraser-base/src/main/jastadd/main.relast @@ -1,5 +1,5 @@ // ---------------- Main ------------------------------ -Root ::= OpenHAB2Model User* MqttRoot InfluxRoot MachineLearningRoot Rule* Location* ; +Root ::= SmartHomeEntityModel User* MqttRoot InfluxRoot MachineLearningRoot Rule* Location* ; // ---------------- Users ------------------------------ User : LabelledModelElement ; diff --git a/eraser-base/src/main/jastadd/mqtt.jrag b/eraser-base/src/main/jastadd/mqtt.jrag index b3f9c2a24a0a62ccc1f360fdadaad4cd7bafe3b5..2d3f6fceefc39d47b1fae782aa4d2f2fbba94b88 100644 --- a/eraser-base/src/main/jastadd/mqtt.jrag +++ b/eraser-base/src/main/jastadd/mqtt.jrag @@ -74,7 +74,7 @@ aspect MQTT { getMqttRoot().getMqttSender().publish(getOutgoingTopic(), message); } - refine OpenHAB2 public void OpenHAB2Model.addNewItem(Item item) { + refine SmartHomeEntityModel public void SmartHomeEntityModel.addNewItem(Item item) { refined(item); // update mqtt-topic to new mqtt-root JavaUtils.ifPresentOrElse( diff --git a/eraser-base/src/main/jastadd/openhab.jrag b/eraser-base/src/main/jastadd/shem.jrag similarity index 67% rename from eraser-base/src/main/jastadd/openhab.jrag rename to eraser-base/src/main/jastadd/shem.jrag index 56aa89f36ac62aa817352f45a639ae7c4aa62206..4cdc35da0e05c77be4ea4ab58d0f5699f87ae100 100644 --- a/eraser-base/src/main/jastadd/openhab.jrag +++ b/eraser-base/src/main/jastadd/shem.jrag @@ -1,9 +1,9 @@ -aspect OpenHAB2 { - syn ActivityItem OpenHAB2Model.getActivityItem() { +aspect SmartHomeEntityModel { + syn ActivityItem SmartHomeEntityModel.getActivityItem() { return new ActivityItem(); } - public void OpenHAB2Model.addNewItem(Item item) { + public void SmartHomeEntityModel.addNewItem(Item item) { JavaUtils.ifPresentOrElse( resolveGroup(de.tudresden.inf.st.eraser.util.ParserUtils.UNKNOWN_GROUP_NAME), group -> group.addItem(item), diff --git a/eraser-base/src/main/jastadd/openhab.relast b/eraser-base/src/main/jastadd/shem.relast similarity index 95% rename from eraser-base/src/main/jastadd/openhab.relast rename to eraser-base/src/main/jastadd/shem.relast index 575f875734994ee52ba5259e5cfe570aa488c139..34ad05feba959e8f1b39449ec56ba96e3dc7a14f 100644 --- a/eraser-base/src/main/jastadd/openhab.relast +++ b/eraser-base/src/main/jastadd/shem.relast @@ -1,5 +1,5 @@ // ---------------- openHAB ------------------------------ -OpenHAB2Model ::= Thing* Group* ThingType* ChannelType* ChannelCategory* ItemCategory* /ActivityItem:Item/ ; +SmartHomeEntityModel ::= Thing* Group* ThingType* ChannelType* ChannelCategory* ItemCategory* /ActivityItem:Item/ ; abstract ModelElement ::= <ID:String> ; abstract LabelledModelElement : ModelElement ::= <Label:String> ; diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/Main.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/Main.java index 9b9aaba5b25e860177545415c5ca1c088a3e7165..b73226fa34a99422f316579b8fea591478b97c5a 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/Main.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/Main.java @@ -39,7 +39,7 @@ public class Main { private static void testPrinterWith(Root model) { model.flushTreeCache(); - System.out.println("Got model: " + model.getOpenHAB2Model().description()); + System.out.println("Got model: " + model.getSmartHomeEntityModel().description()); System.out.println("PrettyPrinted:"); System.out.println(model.prettyPrint()); } @@ -48,7 +48,7 @@ public class Main { Root model; // model = importFromOpenHab(); model = importFromFile(); - System.out.println("Got model: " + model.getOpenHAB2Model().description()); + System.out.println("Got model: " + model.getSmartHomeEntityModel().description()); // JsonSerializer.write(model, "openhab2-data.json"); testUpdaterWith(model); } diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/deserializer/ASTNodeDeserializer.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/deserializer/ASTNodeDeserializer.java index d349331de9e8e43b7513001c659f94e61cc94ae8..ce62a6efa1d1bb40d7a9e05cd618938fdcebfa9d 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/deserializer/ASTNodeDeserializer.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/deserializer/ASTNodeDeserializer.java @@ -48,17 +48,17 @@ public class ASTNodeDeserializer extends StdDeserializer<ASTNode> { r.put(c.getName(), ((node, model) -> f.apply(model, termValue(node, terminalName)))); } - private void addResolverForOpenHAB2Model(Map<String, ResolveAstNodeForOpenHAB2Model> r, Class<?> c, BiFunction<OpenHAB2Model, String, Optional<? extends ASTNode>> f, String terminalName) { + private void addResolverForSmartHomeEntityModel(Map<String, ResolveAstNodeForSmartHomeEntityModel> r, Class<?> c, BiFunction<SmartHomeEntityModel, String, Optional<? extends ASTNode>> f, String terminalName) { r.put(c.getName(), ((node, model) -> f.apply(model, termValue(node, terminalName)))); } private Map<String, ResolveAstNode> resolvers = new HashMap<>(); - private Map<String, ResolveAstNodeForOpenHAB2Model> resolversForOpenHAB2Model = new HashMap<>(); + private Map<String, ResolveAstNodeForSmartHomeEntityModel> resolversForSmartHomeEntityModel = new HashMap<>(); private void initResolvers() { - addResolverForOpenHAB2Model(resolversForOpenHAB2Model, ThingType.class, OpenHAB2Model::resolveThingType, "ID"); - addResolverForOpenHAB2Model(resolversForOpenHAB2Model, ChannelType.class, OpenHAB2Model::resolveChannelType, "ID"); - addResolverForOpenHAB2Model(resolversForOpenHAB2Model, Item.class, OpenHAB2Model::resolveItem, "ID"); + addResolverForSmartHomeEntityModel(resolversForSmartHomeEntityModel, ThingType.class, SmartHomeEntityModel::resolveThingType, "ID"); + addResolverForSmartHomeEntityModel(resolversForSmartHomeEntityModel, ChannelType.class, SmartHomeEntityModel::resolveChannelType, "ID"); + addResolverForSmartHomeEntityModel(resolversForSmartHomeEntityModel, Item.class, SmartHomeEntityModel::resolveItem, "ID"); addResolver(resolvers, MqttTopic.class, Root::resolveMqttTopic, "IncomingTopic"); } @@ -373,8 +373,8 @@ interface ResolveAstNode { } -interface ResolveAstNodeForOpenHAB2Model { - Optional<? extends ASTNode> resolve(JsonNode node, OpenHAB2Model model) throws IOException; +interface ResolveAstNodeForSmartHomeEntityModel { + Optional<? extends ASTNode> resolve(JsonNode node, SmartHomeEntityModel model) throws IOException; } class ResolveLater { diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/OpenHab2Importer.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/OpenHab2Importer.java index 4e1742c7f48b31e040cc70866e8ecd5070622172..d3fcaefa4cf16a7114406ac69f399dc029e1c7a7 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/OpenHab2Importer.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/OpenHab2Importer.java @@ -42,7 +42,7 @@ public class OpenHab2Importer { nonDefaultChannelCategories = new HashSet<>(); } - public OpenHAB2Model importFrom(String host, int port) { + public SmartHomeEntityModel importFrom(String host, int port) { /* Plan: - requesting: thing-types, channel-types, things, items, links @@ -59,7 +59,7 @@ public class OpenHab2Importer { try { Root root = Root.createEmptyRoot(); - OpenHAB2Model model = root.getOpenHAB2Model(); + SmartHomeEntityModel model = root.getSmartHomeEntityModel(); ThingTypeData[] thingTypeList = mapper.readValue(makeURL(thingTypesUrl, hostAndPort), ThingTypeData[].class); logger.info("Read a total of {} thing type(s).", thingTypeList.length); update(model, thingTypeList); @@ -100,7 +100,7 @@ public class OpenHab2Importer { return URI.create(String.format(formatUrlString, hostAndPort, id)).toURL(); } - private void update(OpenHAB2Model model, ThingTypeData[] thingTypeList) { + private void update(SmartHomeEntityModel model, ThingTypeData[] thingTypeList) { for (ThingTypeData thingTypeData : thingTypeList) { ThingType thingType = new ThingType(); thingType.setID(thingTypeData.UID); @@ -110,7 +110,7 @@ public class OpenHab2Importer { } } - private void update(OpenHAB2Model model, ChannelTypeData[] channelTypeList) { + private void update(SmartHomeEntityModel model, ChannelTypeData[] channelTypeList) { for (ChannelTypeData channelTypeData : channelTypeList) { ChannelType channelType = new ChannelType(); channelType.setID(channelTypeData.UID); @@ -163,7 +163,7 @@ public class OpenHab2Importer { } } - private void update(OpenHAB2Model model, ThingData[] thingList) { + private void update(SmartHomeEntityModel model, ThingData[] thingList) { for (ThingData thingData : thingList) { Thing thing = new Thing(); thing.setID(thingData.UID); @@ -182,7 +182,7 @@ public class OpenHab2Importer { } } - private void update(OpenHAB2Model model, AbstractItemData[] itemList) { + private void update(SmartHomeEntityModel model, AbstractItemData[] itemList) { List<Tuple<Group, GroupItemData>> groupsWithMembers = new ArrayList<>(); List<Tuple<Group, GroupItemData>> groupsInGroups = new ArrayList<>(); List<Tuple<Item, AbstractItemData>> itemsInGroups = new ArrayList<>(); @@ -299,7 +299,7 @@ public class OpenHab2Importer { } } - private void update(OpenHAB2Model model, LinkData[] linkList) { + private void update(SmartHomeEntityModel model, LinkData[] linkList) { for (LinkData linkData : linkList) { ifPresent(model.resolveChannel(linkData.channelUID), "Channel", linkData, channel -> ifPresent(model.resolveItem(linkData.itemName), "Item", linkData, channel::addLinkedItem)); @@ -341,7 +341,7 @@ public class OpenHab2Importer { } } - public OpenHAB2Model importFrom(URL baseUrl) { + public SmartHomeEntityModel importFrom(URL baseUrl) { return importFrom(baseUrl.getHost(), baseUrl.getPort() == -1 ? baseUrl.getDefaultPort() : baseUrl.getPort()); } diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/parser/EraserParserHelper.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/parser/EraserParserHelper.java index 5d1b1af27c4bf36e15768bd12facc02ca3a1e773..795d469bc786cfde73b12f8329956cbb79bb953a 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/parser/EraserParserHelper.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/parser/EraserParserHelper.java @@ -80,7 +80,7 @@ public class EraserParserHelper { resolve(channelTypeMap, missingChannelTypeMap, Channel::setType); if (itemMap == null || itemMap.isEmpty()) { missingItemForDesignator.forEach((designator, itemName) -> - JavaUtils.ifPresentOrElse(root.getOpenHAB2Model().resolveItem(itemName), + JavaUtils.ifPresentOrElse(root.getSmartHomeEntityModel().resolveItem(itemName), designator::setItem, () -> logger.warn("Could not resolve item {} for {}", itemName, designator))); } else { @@ -132,13 +132,13 @@ public class EraserParserHelper { sortedDanglingItems.add(item); } } - ParserUtils.createUnknownGroup(this.root.getOpenHAB2Model(), sortedDanglingItems); + ParserUtils.createUnknownGroup(this.root.getSmartHomeEntityModel(), sortedDanglingItems); } } private void createChannelCategories() { channelCategoryMap.values().stream().sorted(Comparator.comparing(this::ident)).forEach( - cc -> root.getOpenHAB2Model().addChannelCategory(cc)); + cc -> root.getSmartHomeEntityModel().addChannelCategory(cc)); channelCategoryMap.clear(); } @@ -146,7 +146,7 @@ public class EraserParserHelper { Map<String, ItemCategory> newCategories = new HashMap<>(); missingItemCategoryMap.forEach((item, category) -> item.setCategory(newCategories.computeIfAbsent(category, ItemCategory::new))); - newCategories.values().forEach(node -> root.getOpenHAB2Model().addItemCategory(node)); + newCategories.values().forEach(node -> root.getSmartHomeEntityModel().addItemCategory(node)); } private void checkUnusedElements() { @@ -425,25 +425,25 @@ public class EraserParserHelper { public Root createRoot(Thing t) { Root result = createRoot(); - result.getOpenHAB2Model().addThing(t); + result.getSmartHomeEntityModel().addThing(t); return result; } public Root createRoot(Group g) { Root result = createRoot(); - result.getOpenHAB2Model().addGroup(g); + result.getSmartHomeEntityModel().addGroup(g); return result; } public Root createRoot(ThingType tt) { Root result = createRoot(); - result.getOpenHAB2Model().addThingType(tt); + result.getSmartHomeEntityModel().addThingType(tt); return result; } public Root createRoot(ChannelType ct) { Root result = createRoot(); - result.getOpenHAB2Model().addChannelType(ct); + result.getSmartHomeEntityModel().addChannelType(ct); return result; } diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java index 716f63f9caa9462665b8819c9347aef466637a76..9970a680fe141f7ce0f1ad3cb0d4a836fd1caf95 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/ParserUtils.java @@ -171,7 +171,7 @@ public class ParserUtils { * @param model The model to operate on * @param danglingItems A list of items to add to the new group */ - public static void createUnknownGroup(OpenHAB2Model model, Collection<Item> danglingItems) { + public static void createUnknownGroup(SmartHomeEntityModel model, Collection<Item> danglingItems) { Group unknownGroup = new Group(); unknownGroup.setID(UNKNOWN_GROUP_NAME); model.addGroup(unknownGroup); @@ -243,14 +243,14 @@ public class ParserUtils { Root root = (Root) parser.parse(scanner); parser.resolveReferences(); reader.close(); - int size = root.getOpenHAB2Model().items().size(); + int size = root.getSmartHomeEntityModel().items().size(); if (size == 0) { throw new IllegalArgumentException("Model does not contain any items!"); } if (size > 1) { logger.warn("Model does contain {} items, ignoring all but the first.", size); } - return root.getOpenHAB2Model().items().get(0); + return root.getSmartHomeEntityModel().items().get(0); } } diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/TestUtils.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/TestUtils.java index 5f07ec7c576829975db82121e42e142497b49586..fd6024bdfd45e2652eb4eaa118eada3dbfc75f23 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/TestUtils.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/TestUtils.java @@ -10,9 +10,9 @@ import de.tudresden.inf.st.eraser.jastadd.model.*; public class TestUtils { public static class ModelAndItem { - public OpenHAB2Model model; + public SmartHomeEntityModel model; public NumberItem item; - static ModelAndItem of(OpenHAB2Model model, NumberItem item) { + static ModelAndItem of(SmartHomeEntityModel model, NumberItem item) { ModelAndItem result = new ModelAndItem(); result.model = model; result.item = item; @@ -27,19 +27,19 @@ public class TestUtils { public static ModelAndItem createModelAndItem(double initialValue, boolean useUpdatingItem) { Root root = Root.createEmptyRoot(); Group g = new Group(); - root.getOpenHAB2Model().addGroup(g); + root.getSmartHomeEntityModel().addGroup(g); g.setID("group1"); NumberItem item = addItemTo(g, initialValue, useUpdatingItem); - return ModelAndItem.of(root.getOpenHAB2Model(), item); + return ModelAndItem.of(root.getSmartHomeEntityModel(), item); } - public static NumberItem addItemTo(OpenHAB2Model model, double initialValue) { + public static NumberItem addItemTo(SmartHomeEntityModel model, double initialValue) { return addItemTo(model, initialValue, false); } - public static NumberItem addItemTo(OpenHAB2Model model, double initialValue, boolean useUpdatingItem) { + public static NumberItem addItemTo(SmartHomeEntityModel model, double initialValue, boolean useUpdatingItem) { return addItemTo(getDefaultGroup(model), initialValue, useUpdatingItem); } @@ -56,7 +56,7 @@ public class TestUtils { return item; } - public static Group getDefaultGroup(OpenHAB2Model model) { + public static Group getDefaultGroup(SmartHomeEntityModel model) { // use first found group return model.getGroup(0); } diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java index edc98e72719ef63ffa63f0cb19aac9b7106ab879..40d7a97d5575269136f92293c7f2f7317dcc7cbe 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java @@ -58,7 +58,7 @@ public class ControllingItemTest { @Test public void testManyToOneColor() { ModelAndItem mai = TestUtils.createModelAndItem(0); - OpenHAB2Model model = mai.model; + SmartHomeEntityModel model = mai.model; NumberItem numberItem = mai.item; Group g = TestUtils.getDefaultGroup(model); diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/MqttTests.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/MqttTests.java index 28a8d664cd88f53495a7049b065f7ef206230e39..24a4f0b29b03fa7d20144b409ad989703b9b16cc 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/MqttTests.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/MqttTests.java @@ -163,7 +163,7 @@ public class MqttTests { private ModelItemAndTwoTopics createAB() { TestUtils.ModelAndItem mai = TestUtils.createModelAndItem(0, true); - OpenHAB2Model model = mai.model; + SmartHomeEntityModel model = mai.model; MqttRoot mqttRoot = new MqttRoot(); mqttRoot.setIncomingPrefix("inc"); mqttRoot.setOutgoingPrefix(outgoingPrefix); @@ -183,11 +183,11 @@ public class MqttTests { } static class ModelItemAndTwoTopics { - OpenHAB2Model model; + SmartHomeEntityModel model; NumberItem item; MqttTopic firstTopic; MqttTopic secondTopic; - static ModelItemAndTwoTopics of(OpenHAB2Model model, NumberItem item, MqttTopic firstTopic, MqttTopic secondTopic) { + static ModelItemAndTwoTopics of(SmartHomeEntityModel model, NumberItem item, MqttTopic firstTopic, MqttTopic secondTopic) { ModelItemAndTwoTopics result = new ModelItemAndTwoTopics(); result.model = model; result.item = item; diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/OpenHabImporterTest.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/OpenHabImporterTest.java index 8c109638fea74d074cfc72168303d68a5d2e69a7..ba45dfa3d2381c7a4778eea8314074401df25c93 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/OpenHabImporterTest.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/OpenHabImporterTest.java @@ -1,6 +1,6 @@ package de.tudresden.inf.st.eraser; -import de.tudresden.inf.st.eraser.jastadd.model.OpenHAB2Model; +import de.tudresden.inf.st.eraser.jastadd.model.SmartHomeEntityModel; import de.tudresden.inf.st.eraser.jastadd.model.Root; import de.tudresden.inf.st.eraser.jastadd_test.core.*; import de.tudresden.inf.st.eraser.openhab2.OpenHab2Importer; @@ -71,7 +71,7 @@ public class OpenHabImporterTest { // call the modified importer, with the static host name, and an arbitrary chosen port // port will not be used during the test - OpenHAB2Model model = importer.importFrom(HOST, 80); + SmartHomeEntityModel model = importer.importFrom(HOST, 80); if (model == null) { if (expected == Result.PARSE_FAILED) return; diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/RulesTest.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/RulesTest.java index 13f5a493652ee42cdc70fc31ae64649de4b23987..fc01bb76bb022cfa0a5ff25113d9fc2957c0c3c0 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/RulesTest.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/RulesTest.java @@ -137,7 +137,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(4); Root root = modelAndItem.model.getRoot(); NumberItem item1 = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); Rule rule = new Rule(); CountingAction counter = new CountingAction(); @@ -280,7 +280,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(2); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); Rule ruleA = new Rule(); CountingAction counter1 = new CountingAction(); @@ -323,7 +323,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); Rule rule = new Rule(); rule.addAction(new SetStateFromConstantStringAction(item2, "5")); @@ -355,7 +355,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(0); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 3, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 3, useUpdatingItem); Rule rule = new Rule(); rule.addAction(new SetStateFromLambdaAction(item2, provider)); @@ -397,7 +397,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - StringItem item2 = addStringItem(root.getOpenHAB2Model(), "0"); + StringItem item2 = addStringItem(root.getSmartHomeEntityModel(), "0"); Rule rule = new Rule(); CountingAction counter = new CountingAction(); @@ -427,8 +427,8 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); - StringItem affectedItem = addStringItem(root.getOpenHAB2Model(), "1"); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); + StringItem affectedItem = addStringItem(root.getSmartHomeEntityModel(), "1"); Rule rule = new Rule(); SetStateFromItemsAction action = new SetStateFromItemsAction(items -> @@ -473,7 +473,7 @@ public class RulesTest { "12", affectedItem.getState()); // add new item to sum - NumberItem item3 = TestUtils.addItemTo(root.getOpenHAB2Model(), -4, useUpdatingItem); + NumberItem item3 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), -4, useUpdatingItem); action.addSourceItem(item3); // still 7 + 5 = 12, as rule should not trigger @@ -494,7 +494,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem affectedItem = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); + NumberItem affectedItem = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); Rule rule = new Rule(); rule.addAction(new AddDoubleToStateAction(affectedItem, 2)); @@ -531,7 +531,7 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item = modelAndItem.item; - NumberItem affectedItem = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); + NumberItem affectedItem = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); Rule rule = new Rule(); rule.addAction(new MultiplyDoubleToStateAction(affectedItem, 2)); @@ -568,8 +568,8 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item1 = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); - NumberItem affectedItem = TestUtils.addItemTo(root.getOpenHAB2Model(), 5, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); + NumberItem affectedItem = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 5, useUpdatingItem); Rule ruleA = new Rule(); ruleA.addAction(new AddDoubleToStateAction(affectedItem, 2)); @@ -623,8 +623,8 @@ public class RulesTest { TestUtils.ModelAndItem modelAndItem = createModelAndItem(3); Root root = modelAndItem.model.getRoot(); NumberItem item1 = modelAndItem.item; - NumberItem item2 = TestUtils.addItemTo(root.getOpenHAB2Model(), 4, useUpdatingItem); - NumberItem affectedItem = TestUtils.addItemTo(root.getOpenHAB2Model(), 5, useUpdatingItem); + NumberItem item2 = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 4, useUpdatingItem); + NumberItem affectedItem = TestUtils.addItemTo(root.getSmartHomeEntityModel(), 5, useUpdatingItem); Rule rule = new Rule(); SetStateFromExpression action = new SetStateFromExpression(); @@ -710,7 +710,7 @@ public class RulesTest { return message + " (Using " + name + ")"; } - private StringItem addStringItem(OpenHAB2Model model, String initialValue) { + private StringItem addStringItem(SmartHomeEntityModel model, String initialValue) { StringItem item = new StringItem(); Group group = TestUtils.getDefaultGroup(model); item.setID("item" + group.getNumItem()); diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/jastadd_test/core/TestRunner.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/jastadd_test/core/TestRunner.java index 6978df5cafeee586a7025fc1855d88b1b240a49b..1b4ba7616039ba915162919f5717a593a44972f6 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/jastadd_test/core/TestRunner.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/jastadd_test/core/TestRunner.java @@ -30,7 +30,7 @@ package de.tudresden.inf.st.eraser.jastadd_test.core; import beaver.Parser; -import de.tudresden.inf.st.eraser.jastadd.model.OpenHAB2Model; +import de.tudresden.inf.st.eraser.jastadd.model.SmartHomeEntityModel; import de.tudresden.inf.st.eraser.jastadd.model.Root; import de.tudresden.inf.st.eraser.util.ParserUtils; diff --git a/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/Application.java b/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/Application.java index 4d8df7dfaa448fe34c6cef1ed51a30d4dd2bc1ae..f79a2df3d49fbc0fe882a356526e63eb6aa23c52 100644 --- a/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/Application.java +++ b/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/Application.java @@ -106,15 +106,15 @@ public class Application { //--- GET /model/items --- Spark.get("", - (request, response) -> wrapItemList(root.getOpenHAB2Model().items()), + (request, response) -> wrapItemList(root.getSmartHomeEntityModel().items()), mapper::writeValueAsString); Spark.path("/:identifier", () -> { Spark.put("", (request, response) -> { - OpenHAB2Model openHAB2Model = root.getOpenHAB2Model(); + SmartHomeEntityModel SmartHomeEntityModel = root.getSmartHomeEntityModel(); Item item = ParserUtils.parseItem(request.body()); - if (!openHAB2Model.resolveItem(item.getID()).isPresent()) { - root.getOpenHAB2Model().addNewItem(item); + if (!SmartHomeEntityModel.resolveItem(item.getID()).isPresent()) { + root.getSmartHomeEntityModel().addNewItem(item); response.status(201); return "OK"; } else { @@ -165,7 +165,7 @@ public class Application { } private Object safeItemRoute(Request request, Response response, Function<Item, String> action) { - return JavaUtils.ifPresentOrElseReturn(root.getOpenHAB2Model().resolveItem(request.params("identifier")), action, + return JavaUtils.ifPresentOrElseReturn(root.getSmartHomeEntityModel().resolveItem(request.params("identifier")), action, () -> makeError(response, 404, "Item '" + request.params("identifier") + "' not found")); } diff --git a/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/DummyDataCreator.java b/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/DummyDataCreator.java index 65885823f7960465adadf30bbda4f82744c54903..4e2184f5d017eba94b4b22dfcddfd6a3679612f2 100644 --- a/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/DummyDataCreator.java +++ b/eraser.spark/src/main/java/de/tudresden/inf/st/eraser/spark/DummyDataCreator.java @@ -44,7 +44,7 @@ class DummyDataCreator { } private Item getOrCreateColorItem(String name, String label) { - return root.getOpenHAB2Model().resolveItem(name).orElseGet(() -> { + return root.getSmartHomeEntityModel().resolveItem(name).orElseGet(() -> { ColorItem result = new ColorItem(); result.setID(name); result.setLabel(label); diff --git a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java index acc4b93a471d0b3a02676d37cb0314c85756ed1c..4d171f8b53d707cca9c07d12721a6586fbfaaf66 100644 --- a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java +++ b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java @@ -82,7 +82,7 @@ public class EraserStarter { boolean startRest = settings.rest.use; Root root; - OpenHAB2Model model; + SmartHomeEntityModel model; switch (settings.initModelWith) { case openhab: OpenHab2Importer importer = new OpenHab2Importer(); @@ -101,7 +101,7 @@ public class EraserStarter { default: try { root = ParserUtils.load(settings.load.realURL()); - model = root.getOpenHAB2Model(); + model = root.getSmartHomeEntityModel(); } catch (IOException | Parser.Exception e) { logger.error("Problems parsing the given file {}", settings.load.file); logger.catching(e); diff --git a/feedbackloop.execute/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImpl.java b/feedbackloop.execute/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImpl.java index 80d2346312445914306e6c224d1f9de1b766cf6d..489956ca9807110328b740b77fe4412e0f00fda3 100644 --- a/feedbackloop.execute/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImpl.java +++ b/feedbackloop.execute/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImpl.java @@ -61,7 +61,7 @@ public class ExecuteImpl implements Execute { } private void resolveOrLogError(String itemId, Consumer<? super Item> consumer) { - Optional<Item> optionalItem = knowledgeBase.getOpenHAB2Model().resolveItem(itemId); + Optional<Item> optionalItem = knowledgeBase.getSmartHomeEntityModel().resolveItem(itemId); if (!optionalItem.isPresent()) { logger.warn("Could not resolve '{}' as an item.", itemId); } diff --git a/feedbackloop.execute/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImplTest.java b/feedbackloop.execute/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImplTest.java index f3f79ac72847b1c8c251c96a6d011014479f7115..ff915252454a236e885f504858afe7914f30aec5 100644 --- a/feedbackloop.execute/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImplTest.java +++ b/feedbackloop.execute/src/test/java/de/tudresden/inf/st/eraser/feedbackloop/execute/ExecuteImplTest.java @@ -21,7 +21,7 @@ public class ExecuteImplTest { @Test public void testColorControlledByOneNumber() { ModelAndItem mai = TestUtils.createModelAndItem(0); - OpenHAB2Model model = mai.model; + SmartHomeEntityModel model = mai.model; NumberItem numberItem = mai.item; ColorItem lamp = new ColorItem(); @@ -47,7 +47,7 @@ public class ExecuteImplTest { @Test public void testColorControlledByOneBoolean() { - OpenHAB2Model model = TestUtils.createModelAndItem(0).model; + SmartHomeEntityModel model = TestUtils.createModelAndItem(0).model; ItemWithBooleanState button = new SwitchItem(); button.setID("button"); @@ -79,7 +79,7 @@ public class ExecuteImplTest { @Test public void testColorControlledByMany() { ModelAndItem mai = TestUtils.createModelAndItem(0); - OpenHAB2Model model = mai.model; + SmartHomeEntityModel model = mai.model; NumberItem numberItem = mai.item; Group g = TestUtils.getDefaultGroup(model); diff --git a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java index 0f82201e8bcffb278656fb821d6efb3e55008791..0d4983c47112462224aa5595942aa23cf738ad8b 100644 --- a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java +++ b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java @@ -89,7 +89,7 @@ public class Main { Root root = Root.createEmptyRoot(); Group group = new Group(); group.setID("Group1"); - root.getOpenHAB2Model().addGroup(group); + root.getSmartHomeEntityModel().addGroup(group); NumberItem monthItem = new NumberItem(); monthItem.setState(normalizedInputs.get(0)); @@ -131,7 +131,7 @@ public class Main { private static void createBrightnessNetwork(ArrayList<Double> all_weights, int inputBiasNumber, int hiddenlayernumber, int hiddenlayerbias, ArrayList<Double> normalizedInputsandOutput) { Root root = createModel(normalizedInputsandOutput, inputBiasNumber); - OpenHAB2Model model = root.getOpenHAB2Model(); + SmartHomeEntityModel model = root.getSmartHomeEntityModel(); Item monthItem = model.resolveItem("month").orElseThrow( () -> new RuntimeException("Month not found")); Item dayItem = model.resolveItem("day").orElseThrow( diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java index dc16aa2353ea216a49d2d1e75d8cfcff4d36abbc..f2540105d7dd6dbf3f037fa19868ff1c8d2749a8 100644 --- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java +++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java @@ -39,7 +39,7 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn } private void updateItems() { - OpenHAB2Model model = root.getOpenHAB2Model(); + SmartHomeEntityModel model = root.getSmartHomeEntityModel(); List<String> targetItemNames, relevantItemNames; switch (this.goal) { case GOAL_ACTIVITY_PHONE_AND_WATCH: @@ -81,7 +81,7 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn .collect(Collectors.toList()); } - private Item resolve(OpenHAB2Model model, String id) { + private Item resolve(SmartHomeEntityModel model, String id) { Optional<Item> maybeItem = model.resolveItem(id); if (maybeItem.isPresent()) { return maybeItem.get(); @@ -97,8 +97,8 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn if(topic.equals("oh2/samsung/items1")){ new_data[0]=changedItems.get(0).influxMeasurementName(); } - model.getOpenHAB2Model().items(); - Item iris_item=model.getOpenHAB2Model().resolveItem("iris_item").get(); + model.getSmartHomeEntityModel().items(); + Item iris_item=model.getSmartHomeEntityModel().resolveItem("iris_item").get(); iris_item.getStateAsString();*/ /* FIXME either save state of unchanged items here (if only changed items are reported) <- pull model or let knowledge base pass all relevant items <- push model @@ -122,7 +122,7 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn }else if(this.goal==GOAL_PREFERENCE_BRIGHTNESS_IRIS){ String[] new_data = new String[2]; for(Item item: changedItems){ - if(root.getOpenHAB2Model().getActivityItem().equals(item)) + if(root.getSmartHomeEntityModel().getActivityItem().equals(item)) { String test=item.getStateAsString(); int index = Math.round(Float.valueOf(test)); @@ -161,7 +161,7 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn switch (this.goal) { case GOAL_ACTIVITY_PHONE_AND_WATCH: String activityStringValue = activity_result; - Item activityItem = resolve(this.root.getOpenHAB2Model(), "activity"); + Item activityItem = resolve(this.root.getSmartHomeEntityModel(), "activity"); //activityItem.setStateFromString(activityStringValue); // FIXME how to translate activityStringValue to a number? or should activity item state better be a String? for (int i=0; i< activites.length;i++){ @@ -175,7 +175,7 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn case GOAL_PREFERENCE_BRIGHTNESS_IRIS: // String[] preference = {result[1], result[2]}; // FIXME what is the meaning of result[1] and result[2] - Item iris1 = resolve(this.root.getOpenHAB2Model(), "iris1_item"); + Item iris1 = resolve(this.root.getSmartHomeEntityModel(), "iris1_item"); int color = 0; int brightness = 0; if (preference_result != null){ diff --git a/integration/src/main/java/de/tudresden/inf/st/eraser/integration/IntegrationMain.java b/integration/src/main/java/de/tudresden/inf/st/eraser/integration/IntegrationMain.java index 3418238f3572595c4a9640369767a1d34d037920..05884c80d68bf27980465038960da9d5fe7adf66 100644 --- a/integration/src/main/java/de/tudresden/inf/st/eraser/integration/IntegrationMain.java +++ b/integration/src/main/java/de/tudresden/inf/st/eraser/integration/IntegrationMain.java @@ -79,14 +79,14 @@ public class IntegrationMain { logger.info("Start!"); Root model = Main.importFromFile(); // Root model = importFromLocalFile(); - logger.debug("Got model: {}", model.getOpenHAB2Model().description()); + logger.debug("Got model: {}", model.getSmartHomeEntityModel().description()); MqttRoot mqttRoot = new MqttRoot(); mqttRoot.setHostByName("localhost"); mqttRoot.setIncomingPrefix("oh2/out/"); MqttTopic irisStateTopic = new MqttTopic(); irisStateTopic.setTopicString("iris1_item/state"); Item iris = null; - for (Item item : model.getOpenHAB2Model().items()) { + for (Item item : model.getSmartHomeEntityModel().items()) { if (item.getID().equals("iris1_item")) { iris = item; break; diff --git a/ml_test/src/main/java/de/tudresden/inf/st/eraser/ml_test/Main.java b/ml_test/src/main/java/de/tudresden/inf/st/eraser/ml_test/Main.java index 59c156853782b8e58010d24393e7c14c73ffefb8..75fd6d205d96cfe43bdd27176c21ac7e7155473a 100644 --- a/ml_test/src/main/java/de/tudresden/inf/st/eraser/ml_test/Main.java +++ b/ml_test/src/main/java/de/tudresden/inf/st/eraser/ml_test/Main.java @@ -26,7 +26,7 @@ public class Main { Root root = Root.createEmptyRoot(); Group group = new Group(); group.setID("Group1"); - root.getOpenHAB2Model().addGroup(group); + root.getSmartHomeEntityModel().addGroup(group); Item activityItem = newItem("activity", "Recognized activity", false, 8); Item brightnessItem = newItem("brightness", "Measured brightness", false, 5); group.addItem(activityItem); @@ -99,9 +99,9 @@ public class Main { private static PreparationResult prepareNetwork() { Root root = createModel(); - Item activityItem = root.getOpenHAB2Model().resolveItem("activity").orElseThrow( + Item activityItem = root.getSmartHomeEntityModel().resolveItem("activity").orElseThrow( () -> new RuntimeException("Activity not found")); - Item brightnessItem = root.getOpenHAB2Model().resolveItem("brightness").orElseThrow( + Item brightnessItem = root.getSmartHomeEntityModel().resolveItem("brightness").orElseThrow( () -> new RuntimeException("Brightness not found")); NeuralNetworkRoot nn = new NeuralNetworkRoot(); diff --git a/skywriter-hue-integration/src/main/java/de/tudresden/inf/st/eraser/skywriter_hue_integration/Main.java b/skywriter-hue-integration/src/main/java/de/tudresden/inf/st/eraser/skywriter_hue_integration/Main.java index 3f64c8cdd3c530d8a287a0d3ce0d140f449c5921..43e229c16c23e88440e693f1cc7a62f871d08fdb 100644 --- a/skywriter-hue-integration/src/main/java/de/tudresden/inf/st/eraser/skywriter_hue_integration/Main.java +++ b/skywriter-hue-integration/src/main/java/de/tudresden/inf/st/eraser/skywriter_hue_integration/Main.java @@ -37,7 +37,7 @@ public class Main { public static void main(String[] args) throws IOException, Parser.Exception { // use openHAB-eraser-connection to update hue (automatically done) Root root = ParserUtils.load("skywriter-hue.eraser", Main.class); - OpenHAB2Model model = root.getOpenHAB2Model(); + SmartHomeEntityModel model = root.getSmartHomeEntityModel(); Item irisItem = model.resolveItem("iris1_item").orElseThrow(() -> new NoSuchElementException("Iris1_item not found")); Item skywriter1_x = model.resolveItem("skywriter1_x").orElseThrow(() ->