diff --git a/src/main/angular/src/app/app.routes.ts b/src/main/angular/src/app/app.routes.ts
index b270178..e0148d0 100644
--- a/src/main/angular/src/app/app.routes.ts
+++ b/src/main/angular/src/app/app.routes.ts
@@ -1,12 +1,12 @@
import {Routes} from '@angular/router';
import {KnxGroupListPageComponent} from './Group/knx-group-list-page/knx-group-list-page.component';
import {DashboardComponent} from './dashboard/dashboard.component';
-import {TaggableListPageComponent} from './Taggable/taggable-list-page/taggable-list-page.component';
+import {ThingListPageComponent} from './Thing/thing-list-page/thing-list-page.component';
export const routes: Routes = [
{path: 'Dashboard', component: DashboardComponent},
{path: 'GroupList', component: KnxGroupListPageComponent},
- {path: 'TaggableList', component: TaggableListPageComponent},
- {path: 'TaggableList/:tag', component: TaggableListPageComponent},
+ {path: 'ThingList', component: ThingListPageComponent},
+ {path: 'ThingList/:tag', component: ThingListPageComponent},
{path: '**', redirectTo: 'Dashboard'},
];
diff --git a/src/main/java/de/ph87/home/device/Device.java b/src/main/java/de/ph87/home/device/Device.java
index 374e847..3d06f7d 100644
--- a/src/main/java/de/ph87/home/device/Device.java
+++ b/src/main/java/de/ph87/home/device/Device.java
@@ -1,7 +1,7 @@
package de.ph87.home.device;
import de.ph87.home.area.Area;
-import de.ph87.home.tag.taggable.ITaggable;
+import de.ph87.home.thing.IThing;
import de.ph87.home.tag.Tag;
import jakarta.persistence.*;
import lombok.*;
@@ -16,7 +16,7 @@ import static de.ph87.home.common.ListHelpers.merge;
@Getter
@ToString
@NoArgsConstructor
-public class Device implements ITaggable {
+public class Device implements IThing {
@Id
@NonNull
diff --git a/src/main/java/de/ph87/home/device/DeviceService.java b/src/main/java/de/ph87/home/device/DeviceService.java
index 38cf006..b8396c2 100644
--- a/src/main/java/de/ph87/home/device/DeviceService.java
+++ b/src/main/java/de/ph87/home/device/DeviceService.java
@@ -8,9 +8,9 @@ import de.ph87.home.property.*;
import de.ph87.home.search.SearchableDto;
import de.ph87.home.tag.Tag;
import de.ph87.home.tag.TagReader;
-import de.ph87.home.tag.TaggableDto;
-import de.ph87.home.tag.taggable.ITaggableService;
-import de.ph87.home.tag.taggable.TaggableFilter;
+import de.ph87.home.thing.ThingDto;
+import de.ph87.home.thing.IThingService;
+import de.ph87.home.thing.ThingFilter;
import jakarta.annotation.Nullable;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@@ -28,7 +28,7 @@ import static de.ph87.home.common.crud.SearchHelper.search;
@Service
@Transactional
@RequiredArgsConstructor
-public class DeviceService implements ITaggableService {
+public class DeviceService implements IThingService {
private final PropertyService propertyService;
@@ -104,12 +104,12 @@ public class DeviceService implements ITaggableService {
}
@Override
- public List> findTaggables(final @NonNull TaggableFilter filter) {
+ public List> filter(final @NonNull ThingFilter filter) {
return deviceRepository.findAll().stream()
.filter(device -> search(filter.getSearch(), device.getSearchableValues()))
.filter(device -> device.tagListAnyMatch(filter.getTag()))
.map(this::toDto)
- .map(TaggableDto::new)
+ .map(ThingDto::new)
.toList();
}
diff --git a/src/main/java/de/ph87/home/shutter/Shutter.java b/src/main/java/de/ph87/home/shutter/Shutter.java
index 51b75a3..92ac722 100644
--- a/src/main/java/de/ph87/home/shutter/Shutter.java
+++ b/src/main/java/de/ph87/home/shutter/Shutter.java
@@ -1,7 +1,7 @@
package de.ph87.home.shutter;
import de.ph87.home.area.Area;
-import de.ph87.home.tag.taggable.ITaggable;
+import de.ph87.home.thing.IThing;
import de.ph87.home.tag.Tag;
import jakarta.persistence.*;
import lombok.*;
@@ -16,7 +16,7 @@ import static de.ph87.home.common.ListHelpers.merge;
@Getter
@ToString
@NoArgsConstructor
-public class Shutter implements ITaggable {
+public class Shutter implements IThing {
@Id
@NonNull
diff --git a/src/main/java/de/ph87/home/shutter/ShutterService.java b/src/main/java/de/ph87/home/shutter/ShutterService.java
index c510293..70a21e2 100644
--- a/src/main/java/de/ph87/home/shutter/ShutterService.java
+++ b/src/main/java/de/ph87/home/shutter/ShutterService.java
@@ -8,9 +8,9 @@ import de.ph87.home.property.*;
import de.ph87.home.search.SearchableDto;
import de.ph87.home.tag.Tag;
import de.ph87.home.tag.TagReader;
-import de.ph87.home.tag.TaggableDto;
-import de.ph87.home.tag.taggable.ITaggableService;
-import de.ph87.home.tag.taggable.TaggableFilter;
+import de.ph87.home.thing.ThingDto;
+import de.ph87.home.thing.IThingService;
+import de.ph87.home.thing.ThingFilter;
import jakarta.annotation.Nullable;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@@ -28,7 +28,7 @@ import static de.ph87.home.common.crud.SearchHelper.search;
@Service
@Transactional
@RequiredArgsConstructor
-public class ShutterService implements ITaggableService {
+public class ShutterService implements IThingService {
private final AreaService areaService;
@@ -110,12 +110,12 @@ public class ShutterService implements ITaggableService {
}
@Override
- public List> findTaggables(final @NonNull TaggableFilter filter) {
+ public List> filter(final @NonNull ThingFilter filter) {
return shutterRepository.findAll().stream()
.filter(shutter -> shutter.tagListAnyMatch(filter.getTag()))
.filter(device -> search(filter.getSearch(), device.getSearchableValues()))
.map(this::toDto)
- .map(TaggableDto::new)
+ .map(ThingDto::new)
.toList();
}
diff --git a/src/main/java/de/ph87/home/tag/taggable/ITaggableService.java b/src/main/java/de/ph87/home/tag/taggable/ITaggableService.java
deleted file mode 100644
index 605d39f..0000000
--- a/src/main/java/de/ph87/home/tag/taggable/ITaggableService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.ph87.home.tag.taggable;
-
-import de.ph87.home.search.ISearchableService;
-import de.ph87.home.tag.TaggableDto;
-import lombok.NonNull;
-
-import java.util.List;
-
-public interface ITaggableService extends ISearchableService {
-
- List> findTaggables(final @NonNull TaggableFilter filter);
-
-}
diff --git a/src/main/java/de/ph87/home/tag/taggable/ITaggable.java b/src/main/java/de/ph87/home/thing/IThing.java
similarity index 80%
rename from src/main/java/de/ph87/home/tag/taggable/ITaggable.java
rename to src/main/java/de/ph87/home/thing/IThing.java
index f2e8fd2..006f013 100644
--- a/src/main/java/de/ph87/home/tag/taggable/ITaggable.java
+++ b/src/main/java/de/ph87/home/thing/IThing.java
@@ -1,4 +1,4 @@
-package de.ph87.home.tag.taggable;
+package de.ph87.home.thing;
import de.ph87.home.search.ISearchable;
import de.ph87.home.tag.Tag;
@@ -6,7 +6,7 @@ import lombok.NonNull;
import java.util.List;
-public interface ITaggable extends ISearchable {
+public interface IThing extends ISearchable {
List getTagList();
diff --git a/src/main/java/de/ph87/home/thing/IThingService.java b/src/main/java/de/ph87/home/thing/IThingService.java
new file mode 100644
index 0000000..7246367
--- /dev/null
+++ b/src/main/java/de/ph87/home/thing/IThingService.java
@@ -0,0 +1,12 @@
+package de.ph87.home.thing;
+
+import de.ph87.home.search.ISearchableService;
+import lombok.NonNull;
+
+import java.util.List;
+
+public interface IThingService extends ISearchableService {
+
+ List> filter(@NonNull final ThingFilter filter);
+
+}
diff --git a/src/main/java/de/ph87/home/tag/taggable/TaggableController.java b/src/main/java/de/ph87/home/thing/ThingController.java
similarity index 53%
rename from src/main/java/de/ph87/home/tag/taggable/TaggableController.java
rename to src/main/java/de/ph87/home/thing/ThingController.java
index fa5ac9d..62e8f76 100644
--- a/src/main/java/de/ph87/home/tag/taggable/TaggableController.java
+++ b/src/main/java/de/ph87/home/thing/ThingController.java
@@ -1,7 +1,5 @@
-package de.ph87.home.tag.taggable;
+package de.ph87.home.thing;
-import de.ph87.home.tag.TaggableDto;
-import jakarta.annotation.Nullable;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
@@ -13,14 +11,14 @@ import java.util.List;
@RestController
@RequiredArgsConstructor
-@RequestMapping("Taggable")
-public class TaggableController {
+@RequestMapping("Thing")
+public class ThingController {
- private final TaggableService taggableService;
+ private final ThingService thingService;
@PostMapping(value = "list")
- public List extends TaggableDto>> list(@RequestBody @NonNull final TaggableFilter filter) {
- return taggableService.list(filter);
+ public List extends ThingDto>> list(@RequestBody @NonNull final ThingFilter filter) {
+ return thingService.list(filter);
}
}
diff --git a/src/main/java/de/ph87/home/tag/TaggableDto.java b/src/main/java/de/ph87/home/thing/ThingDto.java
similarity index 64%
rename from src/main/java/de/ph87/home/tag/TaggableDto.java
rename to src/main/java/de/ph87/home/thing/ThingDto.java
index cfa1d01..af732f4 100644
--- a/src/main/java/de/ph87/home/tag/TaggableDto.java
+++ b/src/main/java/de/ph87/home/thing/ThingDto.java
@@ -1,15 +1,15 @@
-package de.ph87.home.tag;
+package de.ph87.home.thing;
import lombok.Data;
@Data
-public class TaggableDto {
+public class ThingDto {
private final String _type_;
private final T payload;
- public TaggableDto(final T payload) {
+ public ThingDto(final T payload) {
this.payload = payload;
this._type_ = payload.getClass().getSimpleName();
}
diff --git a/src/main/java/de/ph87/home/tag/taggable/TaggableFilter.java b/src/main/java/de/ph87/home/thing/ThingFilter.java
similarity index 67%
rename from src/main/java/de/ph87/home/tag/taggable/TaggableFilter.java
rename to src/main/java/de/ph87/home/thing/ThingFilter.java
index 76afc69..b91ea54 100644
--- a/src/main/java/de/ph87/home/tag/taggable/TaggableFilter.java
+++ b/src/main/java/de/ph87/home/thing/ThingFilter.java
@@ -1,10 +1,10 @@
-package de.ph87.home.tag.taggable;
+package de.ph87.home.thing;
import lombok.Data;
import lombok.NonNull;
@Data
-public class TaggableFilter {
+public class ThingFilter {
@NonNull
private final String tag;
diff --git a/src/main/java/de/ph87/home/tag/taggable/TaggableService.java b/src/main/java/de/ph87/home/thing/ThingService.java
similarity index 55%
rename from src/main/java/de/ph87/home/tag/taggable/TaggableService.java
rename to src/main/java/de/ph87/home/thing/ThingService.java
index 92ba415..c9ecb55 100644
--- a/src/main/java/de/ph87/home/tag/taggable/TaggableService.java
+++ b/src/main/java/de/ph87/home/thing/ThingService.java
@@ -1,7 +1,6 @@
-package de.ph87.home.tag.taggable;
+package de.ph87.home.thing;
import de.ph87.home.common.ListHelpers;
-import de.ph87.home.tag.TaggableDto;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -15,14 +14,14 @@ import java.util.List;
@Service
@Transactional
@RequiredArgsConstructor
-public class TaggableService {
+public class ThingService {
- private final List> taggableServices;
+ private final List> thingServices;
@NonNull
- public List extends TaggableDto>> list(@NonNull final TaggableFilter filter) {
- return taggableServices.stream()
- .map(iTaggableService -> iTaggableService.findTaggables(filter))
+ public List extends ThingDto>> list(@NonNull final ThingFilter filter) {
+ return thingServices.stream()
+ .map(iThingService -> iThingService.filter(filter))
.reduce(ListHelpers::merge)
.orElse(new ArrayList<>());
}
diff --git a/src/main/java/de/ph87/home/tunable/Tunable.java b/src/main/java/de/ph87/home/tunable/Tunable.java
index 33aeb41..7820cb5 100644
--- a/src/main/java/de/ph87/home/tunable/Tunable.java
+++ b/src/main/java/de/ph87/home/tunable/Tunable.java
@@ -1,7 +1,7 @@
package de.ph87.home.tunable;
import de.ph87.home.area.Area;
-import de.ph87.home.tag.taggable.ITaggable;
+import de.ph87.home.thing.IThing;
import de.ph87.home.tag.Tag;
import jakarta.persistence.*;
import lombok.*;
@@ -16,7 +16,7 @@ import static de.ph87.home.common.ListHelpers.merge;
@Getter
@ToString
@NoArgsConstructor
-public class Tunable implements ITaggable {
+public class Tunable implements IThing {
@Id
@NonNull
diff --git a/src/main/java/de/ph87/home/tunable/TunableService.java b/src/main/java/de/ph87/home/tunable/TunableService.java
index b2613b0..51d9c2e 100644
--- a/src/main/java/de/ph87/home/tunable/TunableService.java
+++ b/src/main/java/de/ph87/home/tunable/TunableService.java
@@ -8,9 +8,9 @@ import de.ph87.home.property.*;
import de.ph87.home.search.SearchableDto;
import de.ph87.home.tag.Tag;
import de.ph87.home.tag.TagReader;
-import de.ph87.home.tag.TaggableDto;
-import de.ph87.home.tag.taggable.ITaggableService;
-import de.ph87.home.tag.taggable.TaggableFilter;
+import de.ph87.home.thing.ThingDto;
+import de.ph87.home.thing.IThingService;
+import de.ph87.home.thing.ThingFilter;
import jakarta.annotation.Nullable;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@@ -28,7 +28,7 @@ import static de.ph87.home.common.crud.SearchHelper.search;
@Service
@Transactional
@RequiredArgsConstructor
-public class TunableService implements ITaggableService {
+public class TunableService implements IThingService {
private final PropertyService propertyService;
@@ -132,12 +132,12 @@ public class TunableService implements ITaggableService {
}
@Override
- public List> findTaggables(final @NonNull TaggableFilter filter) {
+ public List> filter(final @NonNull ThingFilter filter) {
return tunableRepository.findAll().stream()
.filter(tunable -> tunable.tagListAnyMatch(filter.getTag()))
.filter(device -> search(filter.getSearch(), device.getSearchableValues()))
.map(this::toDto)
- .map(TaggableDto::new)
+ .map(ThingDto::new)
.toList();
}