This is an automated email from the ASF dual-hosted git repository. shuber pushed a commit to branch UNOMI-341-refactoring-graphql-servicemanager in repository https://gitbox.apache.org/repos/asf/unomi.git
commit 8014350292a4cda8e8f764c9fbbd192476cf2aea Author: Serge Huber <[email protected]> AuthorDate: Fri Jun 5 16:32:06 2020 +0200 UNOMI-341 - Refactor ServiceManager --- .../commands/CreateOrUpdatePersonaCommand.java | 2 +- .../CreateOrUpdateProfilePropertiesCommand.java | 5 +- .../commands/DeleteAllPersonalDataCommand.java | 6 +- .../graphql/commands/DeleteProfileCommand.java | 6 +- .../commands/DeleteProfilePropertiesCommand.java | 9 +- .../graphql/commands/ProcessEventsCommand.java | 5 +- .../commands/list/AddProfileToListCommand.java | 10 +- .../commands/list/CreateOrUpdateListCommand.java | 2 +- .../graphql/commands/list/DeleteListCommand.java | 8 +- .../list/RemoveProfileFromListCommand.java | 10 +- .../segments/BaseCreateOrUpdateSegmentCommand.java | 2 +- .../segments/CreateOrUpdateSegmentCommand.java | 3 +- .../CreateOrUpdateUnomiSegmentCommand.java | 5 +- .../commands/segments/DeleteSegmentCommand.java | 3 +- .../condition/factories/ConditionFactory.java | 2 +- .../factories/ProfileConditionFactory.java | 3 +- .../SegmentProfilePropertiesConditionParser.java | 3 +- .../consent/ConsentEventConnectionDataFetcher.java | 9 +- .../graphql/fetchers/event/EventDataFetcher.java | 5 +- .../event/FindEventsConnectionDataFetcher.java | 3 +- .../graphql/fetchers/list/GetListDataFetcher.java | 3 +- .../fetchers/list/ListConnectionDataFetcher.java | 3 +- .../list/ListProfileConnectionDataFetcher.java | 3 +- .../profile/FindProfilesConnectionDataFetcher.java | 3 +- .../ProfileAllEventsConnectionDataFetcher.java | 3 +- .../fetchers/profile/ProfileDataFetcher.java | 2 +- .../ProfileLastEventsConnectionDataFetcher.java | 3 +- .../fetchers/profile/ProfileListsDataFetcher.java | 2 +- .../profile/ProfileMatchesDataFetcher.java | 2 +- .../profile/ProfileSegmentsDataFetcher.java | 2 +- .../profile/PropertiesConnectionDataFetcher.java | 3 +- .../segment/FindSegmentsConnectionDataFetcher.java | 6 +- .../fetchers/segment/SegmentDataFetcher.java | 3 +- .../fetchers/segment/UnomiSegmentDataFetcher.java | 3 +- .../unomi/graphql/services/ServiceManager.java | 126 ++------------------- .../types/input/BaseProfileEventProcessor.java | 3 +- .../unomi/graphql/types/output/CDPEventEdge.java | 3 +- .../graphql/types/output/CDPEventInterface.java | 3 +- .../graphql/types/output/CDPListsUpdateEvent.java | 3 +- .../unomi/graphql/types/output/CDPProfileEdge.java | 3 +- .../graphql/types/output/CDPPropertyEdge.java | 3 +- 41 files changed, 111 insertions(+), 175 deletions(-) diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdatePersonaCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdatePersonaCommand.java index 16f2c48..2180ef1 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdatePersonaCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdatePersonaCommand.java @@ -48,7 +48,7 @@ public class CreateOrUpdatePersonaCommand extends BaseCommand<CDPPersona> { @Override public CDPPersona execute() { - final ProfileService profileService = serviceManager.getProfileService(); + final ProfileService profileService = serviceManager.getService(ProfileService.class); final Map<String, Object> personaAsMap = environment.getArgument(PERSONA_ARGUMENT_NAME); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdateProfilePropertiesCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdateProfilePropertiesCommand.java index 930d73f..e4ab62e 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdateProfilePropertiesCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/CreateOrUpdateProfilePropertiesCommand.java @@ -18,6 +18,7 @@ package org.apache.unomi.graphql.commands; import org.apache.unomi.api.PropertyType; import org.apache.unomi.api.services.ProfileService; +import org.apache.unomi.graphql.schema.GraphQLSchemaUpdater; import org.apache.unomi.graphql.types.input.CDPPropertyInput; import org.apache.unomi.graphql.types.input.property.BaseCDPPropertyInput; import org.apache.unomi.graphql.types.input.property.CDPSetPropertyInput; @@ -38,7 +39,7 @@ public class CreateOrUpdateProfilePropertiesCommand extends BaseCommand<Boolean> super(builder); this.properties = builder.properties; - this.profileService = serviceManager.getProfileService(); + this.profileService = serviceManager.getService(ProfileService.class); } public static Builder create(List<CDPPropertyInput> properties) { @@ -53,7 +54,7 @@ public class CreateOrUpdateProfilePropertiesCommand extends BaseCommand<Boolean> profileService.setPropertyType(propertyType); }); - serviceManager.getGraphQLSchemaUpdater().updateSchema(); + serviceManager.getService(GraphQLSchemaUpdater.class).updateSchema(); return true; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteAllPersonalDataCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteAllPersonalDataCommand.java index 8aae171..46a1b32 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteAllPersonalDataCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteAllPersonalDataCommand.java @@ -18,6 +18,8 @@ package org.apache.unomi.graphql.commands; import com.google.common.base.Strings; import org.apache.unomi.api.Profile; +import org.apache.unomi.api.services.PrivacyService; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.services.ServiceManager; import java.util.Map; @@ -37,13 +39,13 @@ public class DeleteAllPersonalDataCommand extends BaseCommand<Boolean> { final String profileId = (String) cdpProfileIdInput.get("id"); - final Profile profile = serviceManager.getProfileService().load(profileId); + final Profile profile = serviceManager.getService(ProfileService.class).load(profileId); if (profile == null) { return false; } - return serviceManager.getPrivacyService().deleteProfileData(profileId, false); + return serviceManager.getService(PrivacyService.class).deleteProfileData(profileId, false); } public static Builder create() { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfileCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfileCommand.java index 89309aa..cc76e5c 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfileCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfileCommand.java @@ -17,6 +17,7 @@ package org.apache.unomi.graphql.commands; import org.apache.unomi.api.Profile; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.services.ServiceManager; import java.util.Map; @@ -35,13 +36,14 @@ public class DeleteProfileCommand extends BaseCommand<Boolean> { final String profileId = (String) cdpProfileIdInput.get("id"); - final Profile profile = serviceManager.getProfileService().load(profileId); + ProfileService profileService = serviceManager.getService(ProfileService.class); + final Profile profile = profileService.load(profileId); if (profile == null) { throw new IllegalStateException(String.format("The profile with id \"%s\" not found", profileId)); } - serviceManager.getProfileService().delete(profileId, false); + profileService.delete(profileId, false); return true; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfilePropertiesCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfilePropertiesCommand.java index 5e4064b..ec63f65 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfilePropertiesCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/DeleteProfilePropertiesCommand.java @@ -17,6 +17,8 @@ package org.apache.unomi.graphql.commands; import org.apache.unomi.api.PropertyType; +import org.apache.unomi.api.services.ProfileService; +import org.apache.unomi.graphql.schema.GraphQLSchemaUpdater; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,7 +41,8 @@ public class DeleteProfilePropertiesCommand extends BaseCommand<Boolean> { @Override public Boolean execute() { - final Collection<PropertyType> propertyTypes = serviceManager.getProfileService().getTargetPropertyTypes("profiles"); + ProfileService profileService = serviceManager.getService(ProfileService.class); + final Collection<PropertyType> propertyTypes = profileService.getTargetPropertyTypes("profiles"); final List<String> persistedPropertyNames = propertyTypes.stream().map(PropertyType::getItemId).collect(Collectors.toList()); @@ -52,7 +55,7 @@ public class DeleteProfilePropertiesCommand extends BaseCommand<Boolean> { for (String propertyName : propertyNames) { try { - boolean deleted = serviceManager.getProfileService().deletePropertyType(propertyName); + boolean deleted = profileService.deletePropertyType(propertyName); if (deleted) { LOG.info("The property \"{}\" of profile was deleted successfully", propertyName); @@ -64,7 +67,7 @@ public class DeleteProfilePropertiesCommand extends BaseCommand<Boolean> { } } - serviceManager.getGraphQLSchemaUpdater().updateSchema(); + serviceManager.getService(GraphQLSchemaUpdater.class).updateSchema(); return true; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/ProcessEventsCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/ProcessEventsCommand.java index d8bed1d..49a9107 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/ProcessEventsCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/ProcessEventsCommand.java @@ -21,6 +21,7 @@ import graphql.schema.GraphQLInputObjectField; import graphql.schema.GraphQLInputObjectType; import org.apache.unomi.api.Event; import org.apache.unomi.api.services.EventService; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.CDPGraphQLConstants; import org.apache.unomi.graphql.types.input.CDPConsentUpdateEventInput; import org.apache.unomi.graphql.types.input.CDPEventInput; @@ -158,10 +159,10 @@ public class ProcessEventsCommand extends BaseCommand<Integer> { } private void processEvent(final Event event) { - int eventCode = serviceManager.getEventService().send(event); + int eventCode = serviceManager.getService(EventService.class).send(event); if (eventCode == EventService.PROFILE_UPDATED) { - serviceManager.getProfileService().save(event.getProfile()); + serviceManager.getService(ProfileService.class).save(event.getProfile()); } processedEventsQty.incrementAndGet(); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/AddProfileToListCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/AddProfileToListCommand.java index 5f62842..285b566 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/AddProfileToListCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/AddProfileToListCommand.java @@ -19,6 +19,7 @@ package org.apache.unomi.graphql.commands.list; import org.apache.unomi.api.Event; import org.apache.unomi.api.Profile; import org.apache.unomi.api.services.EventService; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.CDPGraphQLConstants; import org.apache.unomi.graphql.commands.BaseCommand; import org.apache.unomi.graphql.converters.UserListConverter; @@ -26,6 +27,7 @@ import org.apache.unomi.graphql.types.input.CDPProfileIDInput; import org.apache.unomi.graphql.types.output.CDPList; import org.apache.unomi.graphql.utils.EventBuilder; import org.apache.unomi.lists.UserList; +import org.apache.unomi.services.UserListService; import java.util.Collections; import java.util.Objects; @@ -46,13 +48,13 @@ public class AddProfileToListCommand extends BaseCommand<CDPList> { @Override public CDPList execute() { - final UserList userList = serviceManager.getUserListServiceExt().load(listId); + final UserList userList = serviceManager.getService(UserListService.class).load(listId); if (userList == null) { return null; } - final Profile profile = serviceManager.getProfileService().load(profileIDInput.getId()); + final Profile profile = serviceManager.getService(ProfileService.class).load(profileIDInput.getId()); if (profile == null) { return null; @@ -63,8 +65,8 @@ public class AddProfileToListCommand extends BaseCommand<CDPList> { .setPersistent(true) .build(); - if (serviceManager.getEventService().send(event) == EventService.PROFILE_UPDATED) { - serviceManager.getProfileService().save(event.getProfile()); + if (serviceManager.getService(EventService.class).send(event) == EventService.PROFILE_UPDATED) { + serviceManager.getService(ProfileService.class).save(event.getProfile()); } return new CDPList(UserListConverter.convertToUnomiList(userList)); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/CreateOrUpdateListCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/CreateOrUpdateListCommand.java index ce64ee9..1a64a79 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/CreateOrUpdateListCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/CreateOrUpdateListCommand.java @@ -39,7 +39,7 @@ public class CreateOrUpdateListCommand extends BaseCommand<CDPList> { @Override public CDPList execute() { - final UserListService userListService = serviceManager.getUserListServiceExt(); + final UserListService userListService = serviceManager.getService(UserListService.class); final String listId = Strings.isNullOrEmpty(listInput.getId()) ? listInput.getName() diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/DeleteListCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/DeleteListCommand.java index aa10682..c08e197 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/DeleteListCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/DeleteListCommand.java @@ -17,6 +17,7 @@ package org.apache.unomi.graphql.commands.list; import org.apache.unomi.graphql.commands.BaseCommand; +import org.apache.unomi.services.UserListService; import java.util.Objects; @@ -32,13 +33,14 @@ public class DeleteListCommand extends BaseCommand<Boolean> { @Override public Boolean execute() { - if (serviceManager.getUserListServiceExt().load(listId) == null) { + UserListService userListService = serviceManager.getService(UserListService.class); + if (userListService.load(listId) == null) { return false; } - serviceManager.getUserListServiceExt().delete(listId); + userListService.delete(listId); - return serviceManager.getUserListServiceExt().load(listId) == null; + return userListService.load(listId) == null; } public static Builder create(final String listId) { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/RemoveProfileFromListCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/RemoveProfileFromListCommand.java index edf3582..18b0906 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/RemoveProfileFromListCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/list/RemoveProfileFromListCommand.java @@ -19,11 +19,13 @@ package org.apache.unomi.graphql.commands.list; import org.apache.unomi.api.Event; import org.apache.unomi.api.Profile; import org.apache.unomi.api.services.EventService; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.CDPGraphQLConstants; import org.apache.unomi.graphql.commands.BaseCommand; import org.apache.unomi.graphql.types.input.CDPProfileIDInput; import org.apache.unomi.graphql.utils.EventBuilder; import org.apache.unomi.lists.UserList; +import org.apache.unomi.services.UserListService; import java.util.Collections; import java.util.Objects; @@ -42,13 +44,13 @@ public class RemoveProfileFromListCommand extends BaseCommand<Boolean> { @Override public Boolean execute() { - final UserList userList = serviceManager.getUserListServiceExt().load(listId); + final UserList userList = serviceManager.getService(UserListService.class).load(listId); if (userList == null) { return null; } - final Profile profile = serviceManager.getProfileService().load(profileIDInput.getId()); + final Profile profile = serviceManager.getService(ProfileService.class).load(profileIDInput.getId()); if (profile == null) { return null; @@ -59,10 +61,10 @@ public class RemoveProfileFromListCommand extends BaseCommand<Boolean> { .setPersistent(true) .build(); - int eventCode = serviceManager.getEventService().send(event); + int eventCode = serviceManager.getService(EventService.class).send(event); if (eventCode == EventService.PROFILE_UPDATED) { - serviceManager.getProfileService().save(event.getProfile()); + serviceManager.getService(ProfileService.class).save(event.getProfile()); return true; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/BaseCreateOrUpdateSegmentCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/BaseCreateOrUpdateSegmentCommand.java index fd75783..70563b5 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/BaseCreateOrUpdateSegmentCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/BaseCreateOrUpdateSegmentCommand.java @@ -34,7 +34,7 @@ public abstract class BaseCreateOrUpdateSegmentCommand<INPUT extends BaseSegment } protected Segment preparedSegmentWithoutCondition(final INPUT segmentInput) { - final SegmentService segmentService = serviceManager.getSegmentService(); + final SegmentService segmentService = serviceManager.getService(SegmentService.class); final String segmentId = Strings.isNullOrEmpty(segmentInput.getId()) ? segmentInput.getName() diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateSegmentCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateSegmentCommand.java index d0b9cf0..b116840 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateSegmentCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateSegmentCommand.java @@ -18,6 +18,7 @@ package org.apache.unomi.graphql.commands.segments; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.segments.Segment; +import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.condition.factories.ProfileConditionFactory; import org.apache.unomi.graphql.types.input.CDPSegmentInput; import org.apache.unomi.graphql.types.output.CDPSegment; @@ -51,7 +52,7 @@ public class CreateOrUpdateSegmentCommand extends BaseCreateOrUpdateSegmentComma segment.setCondition(condition); - serviceManager.getSegmentService().setSegmentDefinition(segment); + serviceManager.getService(SegmentService.class).setSegmentDefinition(segment); return new CDPSegment(segment); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateUnomiSegmentCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateUnomiSegmentCommand.java index 48fd1c1..fb49ee2 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateUnomiSegmentCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/CreateOrUpdateUnomiSegmentCommand.java @@ -18,6 +18,7 @@ package org.apache.unomi.graphql.commands.segments; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.segments.Segment; +import org.apache.unomi.api.services.DefinitionsService; import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.types.output.UnomiSegment; import org.apache.unomi.graphql.types.input.UnomiSegmentInput; @@ -40,7 +41,7 @@ public class CreateOrUpdateUnomiSegmentCommand extends BaseCreateOrUpdateSegment @Override public UnomiSegment execute() { - final SegmentService segmentService = serviceManager.getSegmentService(); + final SegmentService segmentService = serviceManager.getService(SegmentService.class); Segment segment = preparedSegmentWithoutCondition(segmentInput); @@ -57,7 +58,7 @@ public class CreateOrUpdateUnomiSegmentCommand extends BaseCreateOrUpdateSegment @SuppressWarnings("unchecked") private Condition decorateCondition(final Condition condition) { - condition.setConditionType(serviceManager.getDefinitionsService().getConditionType(condition.getConditionTypeId())); + condition.setConditionType(serviceManager.getService(DefinitionsService.class).getConditionType(condition.getConditionTypeId())); if (condition.containsParameter("subConditions")) { final List<LinkedHashMap<String, Object>> subConditions = (List<LinkedHashMap<String, Object>>) condition.getParameter("subConditions"); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/DeleteSegmentCommand.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/DeleteSegmentCommand.java index ee4f702..c00c5e8 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/DeleteSegmentCommand.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/commands/segments/DeleteSegmentCommand.java @@ -18,6 +18,7 @@ package org.apache.unomi.graphql.commands.segments; import com.google.common.base.Strings; import org.apache.unomi.api.segments.DependentMetadata; +import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.commands.BaseCommand; public class DeleteSegmentCommand extends BaseCommand<Boolean> { @@ -32,7 +33,7 @@ public class DeleteSegmentCommand extends BaseCommand<Boolean> { @Override public Boolean execute() { - final DependentMetadata dependentMetadata = serviceManager.getSegmentService().removeSegmentDefinition(segmentId, true); + final DependentMetadata dependentMetadata = serviceManager.getService(SegmentService.class).removeSegmentDefinition(segmentId, true); return dependentMetadata.getScorings().isEmpty() && dependentMetadata.getSegments().isEmpty(); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ConditionFactory.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ConditionFactory.java index a38c918..c7fea26 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ConditionFactory.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ConditionFactory.java @@ -46,7 +46,7 @@ public class ConditionFactory { this.conditionTypeId = conditionTypeId; final ServiceManager context = environment.getContext(); - this.definitionsService = context.getDefinitionsService(); + this.definitionsService = context.getService(DefinitionsService.class); this.conditionTypesMap = definitionsService.getAllConditionTypes().stream() .collect(Collectors.toMap(ConditionType::getItemId, Function.identity())); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ProfileConditionFactory.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ProfileConditionFactory.java index aba3dd3..52a6028 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ProfileConditionFactory.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/factories/ProfileConditionFactory.java @@ -21,6 +21,7 @@ import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.GeoPoint; import org.apache.unomi.api.PropertyType; import org.apache.unomi.api.conditions.Condition; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.schema.ComparisonConditionTranslator; import org.apache.unomi.graphql.schema.PropertyNameTranslator; import org.apache.unomi.graphql.schema.PropertyValueTypeHelper; @@ -248,7 +249,7 @@ public class ProfileConditionFactory extends ConditionFactory { private void addDynamicProfilePropertiesCondition(final Map<String, Object> filterAsMap, final List<Condition> subConditions) { final ServiceManager serviceManager = environment.getContext(); - final Map<String, PropertyType> propertyTypeMap = serviceManager.getProfileService().getTargetPropertyTypes("profiles") + final Map<String, PropertyType> propertyTypeMap = serviceManager.getService(ProfileService.class).getTargetPropertyTypes("profiles") .stream().collect(Collectors.toMap(PropertyType::getItemId, Function.identity())); filterAsMap.forEach((propertyName, propertyValue) -> { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java index 89ebb75..f649c80 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/condition/parsers/SegmentProfilePropertiesConditionParser.java @@ -19,6 +19,7 @@ package org.apache.unomi.graphql.condition.parsers; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.PropertyType; import org.apache.unomi.api.conditions.Condition; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.schema.ComparisonConditionTranslator; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.utils.DateUtils; @@ -48,7 +49,7 @@ public class SegmentProfilePropertiesConditionParser { final ServiceManager serviceManager = environment.getContext(); - profilePropertiesAsMap = serviceManager.getProfileService().getTargetPropertyTypes("profiles").stream() + profilePropertiesAsMap = serviceManager.getService(ProfileService.class).getTargetPropertyTypes("profiles").stream() .collect(Collectors.toMap(PropertyType::getItemId, Function.identity())); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/consent/ConsentEventConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/consent/ConsentEventConnectionDataFetcher.java index 05090e2..204dac3 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/consent/ConsentEventConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/consent/ConsentEventConnectionDataFetcher.java @@ -21,6 +21,8 @@ import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Event; import org.apache.unomi.api.PartialList; import org.apache.unomi.api.conditions.Condition; +import org.apache.unomi.api.services.DefinitionsService; +import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.condition.factories.EventConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.EventConnectionDataFetcher; @@ -39,11 +41,12 @@ public class ConsentEventConnectionDataFetcher extends EventConnectionDataFetche final EventConditionFactory factory = EventConditionFactory.get(environment); - final Condition eventCondition = factory.propertyCondition("eventType", "modifyConsent", serviceManager.getDefinitionsService()); - final Condition consentCondition = factory.propertyCondition("target.token", consent.getToken(), serviceManager.getDefinitionsService()); + DefinitionsService definitionsService = serviceManager.getService(DefinitionsService.class); + final Condition eventCondition = factory.propertyCondition("eventType", "modifyConsent", definitionsService); + final Condition consentCondition = factory.propertyCondition("target.token", consent.getToken(), definitionsService); final Condition andCondition = factory.booleanCondition("and", Arrays.asList(eventCondition, consentCondition)); - final PartialList<Event> events = serviceManager.getEventService().searchEvents(andCondition, 0, ConnectionParams.DEFAULT_PAGE_SIZE); + final PartialList<Event> events = serviceManager.getService(EventService.class).searchEvents(andCondition, 0, ConnectionParams.DEFAULT_PAGE_SIZE); return createEventConnection(events); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/EventDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/EventDataFetcher.java index b5b1351..e89e8ba 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/EventDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/EventDataFetcher.java @@ -21,6 +21,7 @@ import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Event; import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.fetchers.BaseDataFetcher; +import org.apache.unomi.graphql.schema.CDPEventInterfaceRegister; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.output.CDPEventInterface; @@ -35,10 +36,10 @@ public class EventDataFetcher extends BaseDataFetcher<CDPEventInterface> { @Override public CDPEventInterface get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final EventService eventService = serviceManager.getEventService(); + final EventService eventService = serviceManager.getService(EventService.class); final Event event = eventService.getEvent(id); - return event == null ? null : serviceManager.getEventInterfaceRegister().getEvent(event); + return event == null ? null : serviceManager.getService(CDPEventInterfaceRegister.class).getEvent(event); } } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/FindEventsConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/FindEventsConnectionDataFetcher.java index 68d060f..0aca826 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/FindEventsConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/event/FindEventsConnectionDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.api.Event; import org.apache.unomi.api.PartialList; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.query.Query; +import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.condition.factories.EventConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.EventConnectionDataFetcher; @@ -56,7 +57,7 @@ public class FindEventsConnectionDataFetcher extends EventConnectionDataFetcher final Query query = buildQuery(condition, orderByInput, params); - PartialList<Event> events = serviceManager.getEventService().search(query); + PartialList<Event> events = serviceManager.getService(EventService.class).search(query); return createEventConnection(events); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/GetListDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/GetListDataFetcher.java index 123cea9..0cc9ddb 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/GetListDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/GetListDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.graphql.converters.UserListConverter; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.output.CDPList; import org.apache.unomi.lists.UserList; +import org.apache.unomi.services.UserListService; public class GetListDataFetcher implements DataFetcher<CDPList> { @@ -35,7 +36,7 @@ public class GetListDataFetcher implements DataFetcher<CDPList> { public CDPList get(final DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final UserList userList = serviceManager.getUserListServiceExt().load(listId); + final UserList userList = serviceManager.getService(UserListService.class).load(listId); return userList != null ? new CDPList(UserListConverter.convertToUnomiList(userList)) : null; } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListConnectionDataFetcher.java index 3be1c74..8cfb977 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListConnectionDataFetcher.java @@ -28,6 +28,7 @@ import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.input.CDPListFilterInput; import org.apache.unomi.graphql.types.input.CDPOrderByInput; import org.apache.unomi.graphql.types.output.CDPListConnection; +import org.apache.unomi.services.UserListService; import java.util.ArrayList; import java.util.List; @@ -51,7 +52,7 @@ public class ListConnectionDataFetcher extends BaseConnectionDataFetcher<CDPList final Query query = buildQuery(createCondition(environment), orderByInput, params); - final PartialList<Metadata> metadataPartialList = serviceManager.getUserListServiceExt().getListMetadatas(query); + final PartialList<Metadata> metadataPartialList = serviceManager.getService(UserListService.class).getListMetadatas(query); return new CDPListConnection(metadataPartialList); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListProfileConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListProfileConnectionDataFetcher.java index e37ca55..cb2aa88 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListProfileConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/list/ListProfileConnectionDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.api.PartialList; import org.apache.unomi.api.Profile; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.query.Query; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.condition.factories.ProfileConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.ProfileConnectionDataFetcher; @@ -42,7 +43,7 @@ public class ListProfileConnectionDataFetcher extends ProfileConnectionDataFetch final Query query = buildQuery(listIdCondition, null, params); - PartialList<Profile> profiles = serviceManager.getProfileService().search(query, Profile.class); + PartialList<Profile> profiles = serviceManager.getService(ProfileService.class).search(query, Profile.class); return createProfileConnection(profiles); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/FindProfilesConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/FindProfilesConnectionDataFetcher.java index 77d6b15..8bdf73d 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/FindProfilesConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/FindProfilesConnectionDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.api.PartialList; import org.apache.unomi.api.Profile; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.query.Query; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.condition.factories.ProfileConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.ProfileConnectionDataFetcher; @@ -51,7 +52,7 @@ public class FindProfilesConnectionDataFetcher extends ProfileConnectionDataFetc .profileFilterInputCondition(filterInput, environment.getArgument("filter")); final Query query = buildQuery(condition, orderByInput, params); - PartialList<Profile> profiles = serviceManager.getProfileService().search(query, Profile.class); + PartialList<Profile> profiles = serviceManager.getService(ProfileService.class).search(query, Profile.class); return createProfileConnection(profiles); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileAllEventsConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileAllEventsConnectionDataFetcher.java index f29bede..5228f10 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileAllEventsConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileAllEventsConnectionDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.api.Event; import org.apache.unomi.api.PartialList; import org.apache.unomi.api.Profile; import org.apache.unomi.api.conditions.Condition; +import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.condition.factories.EventConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.EventConnectionDataFetcher; @@ -58,7 +59,7 @@ public class ProfileAllEventsConnectionDataFetcher extends EventConnectionDataFe condition = eventConditionFactory.eventFilterInputCondition(filterInput, filterInputAsMap); } - final PartialList<Event> events = serviceManager.getEventService().searchEvents(condition, params.getOffset(), params.getSize()); + final PartialList<Event> events = serviceManager.getService(EventService.class).searchEvents(condition, params.getOffset(), params.getSize()); return createEventConnection(events); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileDataFetcher.java index 1386ecb..0a566af 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileDataFetcher.java @@ -38,7 +38,7 @@ public class ProfileDataFetcher extends BaseDataFetcher<CDPProfile> { @Override public CDPProfile get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final ProfileService profileService = serviceManager.getProfileService(); + final ProfileService profileService = serviceManager.getService(ProfileService.class); Profile profile = profileService.load(profileIDInput.getId()); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileLastEventsConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileLastEventsConnectionDataFetcher.java index b3045b7..ebacd56 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileLastEventsConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileLastEventsConnectionDataFetcher.java @@ -22,6 +22,7 @@ import org.apache.unomi.api.Event; import org.apache.unomi.api.PartialList; import org.apache.unomi.api.Profile; import org.apache.unomi.api.conditions.Condition; +import org.apache.unomi.api.services.EventService; import org.apache.unomi.graphql.condition.factories.EventConditionFactory; import org.apache.unomi.graphql.fetchers.EventConnectionDataFetcher; import org.apache.unomi.graphql.services.ServiceManager; @@ -45,7 +46,7 @@ public class ProfileLastEventsConnectionDataFetcher extends EventConnectionDataF final Condition condition = EventConditionFactory.get(environment) .propertyCondition("profileId", profile.getItemId()); - final PartialList<Event> events = serviceManager.getEventService().searchEvents(condition, 0, count); + final PartialList<Event> events = serviceManager.getService(EventService.class).searchEvents(condition, 0, count); return createEventConnection(events); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileListsDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileListsDataFetcher.java index c71ac66..f5d91eb 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileListsDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileListsDataFetcher.java @@ -47,7 +47,7 @@ public class ProfileListsDataFetcher extends BaseDataFetcher<List<CDPList>> { @SuppressWarnings("unchecked") public List<CDPList> get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final UserListService userListService = serviceManager.getUserListService(); + final UserListService userListService = serviceManager.getService(UserListService.class); final Map<String, Object> systemProperties = profile.getSystemProperties(); if (systemProperties == null) { return null; diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileMatchesDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileMatchesDataFetcher.java index 4b1b6e7..dd9f157 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileMatchesDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileMatchesDataFetcher.java @@ -53,7 +53,7 @@ public class ProfileMatchesDataFetcher implements DataFetcher<List<CDPFilterMatc } final ServiceManager serviceManager = environment.getContext(); - final ProfileService profileService = serviceManager.getProfileService(); + final ProfileService profileService = serviceManager.getService(ProfileService.class); final Date now = new Date(); final Session session = new Session("profile-matcher-" + now.getTime(), profile, now, "digitall"); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileSegmentsDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileSegmentsDataFetcher.java index 78ff9ea..23b9dc7 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileSegmentsDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/ProfileSegmentsDataFetcher.java @@ -43,7 +43,7 @@ public class ProfileSegmentsDataFetcher extends BaseDataFetcher<List<CDPSegment> @Override public List<CDPSegment> get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final SegmentService segmentService = serviceManager.getSegmentService(); + final SegmentService segmentService = serviceManager.getService(SegmentService.class); final List<Metadata> metadata = segmentService.getSegmentMetadatasForProfile(profile); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/PropertiesConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/PropertiesConnectionDataFetcher.java index a4c663c..098cef0 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/PropertiesConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/profile/PropertiesConnectionDataFetcher.java @@ -20,6 +20,7 @@ package org.apache.unomi.graphql.fetchers.profile; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.PropertyType; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.fetchers.BaseConnectionDataFetcher; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.services.ServiceManager; @@ -38,7 +39,7 @@ public class PropertiesConnectionDataFetcher extends BaseConnectionDataFetcher<C public CDPPropertyConnection get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); final ConnectionParams params = parseConnectionParams(environment); - final Collection<PropertyType> properties = serviceManager.getProfileService().getTargetPropertyTypes("profiles"); + final Collection<PropertyType> properties = serviceManager.getService(ProfileService.class).getTargetPropertyTypes("profiles"); return createPropertiesConnection(properties, params); } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/FindSegmentsConnectionDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/FindSegmentsConnectionDataFetcher.java index 3696ea2..6f79b74 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/FindSegmentsConnectionDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/FindSegmentsConnectionDataFetcher.java @@ -23,6 +23,7 @@ import org.apache.unomi.api.PartialList; import org.apache.unomi.api.conditions.Condition; import org.apache.unomi.api.query.Query; import org.apache.unomi.api.segments.Segment; +import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.condition.factories.ProfileConditionFactory; import org.apache.unomi.graphql.fetchers.ConnectionParams; import org.apache.unomi.graphql.fetchers.SegmentConnectionDataFetcher; @@ -52,10 +53,11 @@ public class FindSegmentsConnectionDataFetcher extends SegmentConnectionDataFetc final Condition condition = ProfileConditionFactory.get(environment).segmentFilterInputCondition(filterInput); final Query query = buildQuery(condition, orderByInput, params); - final PartialList<Metadata> metas = serviceManager.getSegmentService().getSegmentMetadatas(query); + SegmentService segmentService = serviceManager.getService(SegmentService.class); + final PartialList<Metadata> metas = segmentService.getSegmentMetadatas(query); final List<Segment> segmentList = metas.getList().stream() - .map(meta -> serviceManager.getSegmentService().getSegmentDefinition(meta.getId())) + .map(meta -> segmentService.getSegmentDefinition(meta.getId())) .collect(Collectors.toList()); PartialList<Segment> segments = new PartialList<>(segmentList, metas.getOffset(), metas.getPageSize(), metas.getTotalSize(), metas.getTotalSizeRelation()); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/SegmentDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/SegmentDataFetcher.java index 458b345..a51bd63 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/SegmentDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/SegmentDataFetcher.java @@ -19,6 +19,7 @@ package org.apache.unomi.graphql.fetchers.segment; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.segments.Segment; +import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.output.CDPSegment; @@ -34,7 +35,7 @@ public class SegmentDataFetcher implements DataFetcher<CDPSegment> { public CDPSegment get(DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final Segment segment = serviceManager.getSegmentService().getSegmentDefinition(segmentId); + final Segment segment = serviceManager.getService(SegmentService.class).getSegmentDefinition(segmentId); if (segment != null) { return new CDPSegment(segment); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/UnomiSegmentDataFetcher.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/UnomiSegmentDataFetcher.java index bd8fe2e..e32b4b5 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/UnomiSegmentDataFetcher.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/fetchers/segment/UnomiSegmentDataFetcher.java @@ -19,6 +19,7 @@ package org.apache.unomi.graphql.fetchers.segment; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.segments.Segment; +import org.apache.unomi.api.services.SegmentService; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.output.UnomiSegment; @@ -34,7 +35,7 @@ public class UnomiSegmentDataFetcher implements DataFetcher<UnomiSegment> { public UnomiSegment get(final DataFetchingEnvironment environment) throws Exception { final ServiceManager serviceManager = environment.getContext(); - final Segment segment = serviceManager.getSegmentService().getSegmentDefinition(segmentId); + final Segment segment = serviceManager.getService(SegmentService.class).getSegmentDefinition(segmentId); if (segment != null) { return new UnomiSegment(segment); diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/services/ServiceManager.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/services/ServiceManager.java index f8b4e11..5ca7f4a 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/services/ServiceManager.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/services/ServiceManager.java @@ -27,130 +27,24 @@ import org.apache.unomi.graphql.schema.CDPProfileInterfaceRegister; import org.apache.unomi.graphql.schema.CDPPropertyInterfaceRegister; import org.apache.unomi.graphql.schema.GraphQLSchemaUpdater; import org.apache.unomi.persistence.spi.PersistenceService; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; @Component(service = ServiceManager.class) public class ServiceManager { - private ProfileService profileService; - private SegmentService segmentService; - private EventService eventService; - private DefinitionsService definitionsService; - private GraphQLSchemaUpdater graphQLSchemaUpdater; - private PrivacyService privacyService; - private UserListService userListService; - private org.apache.unomi.services.UserListService userListServiceExt; - private CDPEventInterfaceRegister eventInterfaceRegister; - private CDPProfileInterfaceRegister profileInterfaceRegister; - private CDPPropertyInterfaceRegister propertyInterfaceRegister; - private PersistenceService persistenceService; + private BundleContext bundleContext; - @Reference - public void setProfileService(ProfileService profileService) { - this.profileService = profileService; + @Activate + private void activate(BundleContext bundleContext) { + this.bundleContext = bundleContext; } - - @Reference - public void setSegmentService(SegmentService segmentService) { - this.segmentService = segmentService; - } - - @Reference - public void setDefinitionsService(DefinitionsService definitionsService) { - this.definitionsService = definitionsService; - } - - @Reference - public void setEventService(EventService eventService) { - this.eventService = eventService; - } - - @Reference - public void setGraphQLSchemaUpdater(GraphQLSchemaUpdater graphQLSchemaUpdater) { - this.graphQLSchemaUpdater = graphQLSchemaUpdater; - } - - @Reference - public void setUserListService(UserListService userListService) { - this.userListService = userListService; - } - - @Reference - public void setPrivacyService(PrivacyService privacyService) { - this.privacyService = privacyService; - } - - @Reference - public void setEventInterfaceRegister(CDPEventInterfaceRegister eventInterfaceRegister) { - this.eventInterfaceRegister = eventInterfaceRegister; - } - - @Reference - public void setProfileInterfaceRegister(CDPProfileInterfaceRegister profileInterfaceRegister) { - this.profileInterfaceRegister = profileInterfaceRegister; - } - - @Reference - public void setPropertyInterfaceRegister(CDPPropertyInterfaceRegister propertyInterfaceRegister) { - this.propertyInterfaceRegister = propertyInterfaceRegister; - } - - @Reference - public void setUserListServiceExt(org.apache.unomi.services.UserListService userListServiceExt) { - this.userListServiceExt = userListServiceExt; - } - - @Reference - public void setPersistenceService(PersistenceService persistenceService) { - this.persistenceService = persistenceService; - } - - public ProfileService getProfileService() { - return profileService; - } - - public SegmentService getSegmentService() { - return segmentService; - } - - public DefinitionsService getDefinitionsService() { - return definitionsService; - } - - public EventService getEventService() { - return eventService; - } - - public GraphQLSchemaUpdater getGraphQLSchemaUpdater() { - return graphQLSchemaUpdater; - } - - public PrivacyService getPrivacyService() { - return privacyService; + public <T> T getService(Class<T> serviceClass) { + ServiceReference<T> serviceReference = bundleContext.getServiceReference(serviceClass); + return bundleContext.getService(serviceReference); } - public UserListService getUserListService() { - return userListService; - } - - public CDPEventInterfaceRegister getEventInterfaceRegister() { - return eventInterfaceRegister; - } - - public CDPProfileInterfaceRegister getProfileInterfaceRegister() { - return profileInterfaceRegister; - } - - public org.apache.unomi.services.UserListService getUserListServiceExt() { - return userListServiceExt; - } - - public CDPPropertyInterfaceRegister getPropertyInterfaceRegister() { - return propertyInterfaceRegister; - } - - public PersistenceService getPersistenceService() { - return persistenceService; - } } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/input/BaseProfileEventProcessor.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/input/BaseProfileEventProcessor.java index d7e8081..077db04 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/input/BaseProfileEventProcessor.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/input/BaseProfileEventProcessor.java @@ -18,6 +18,7 @@ package org.apache.unomi.graphql.types.input; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Profile; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.utils.EventBuilder; @@ -29,7 +30,7 @@ public abstract class BaseProfileEventProcessor implements CDPEventProcessor { protected Profile loadProfile(final Map<String, Object> eventInputAsMap, final DataFetchingEnvironment environment) { final Map<String, Object> cdpProfileId = (Map<String, Object>) eventInputAsMap.get("cdp_profileID"); final ServiceManager serviceManager = environment.getContext(); - return serviceManager.getProfileService().load((String) cdpProfileId.get("id")); + return serviceManager.getService(ProfileService.class).load((String) cdpProfileId.get("id")); } protected final EventBuilder eventBuilder(final Profile profile) { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventEdge.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventEdge.java index b720298..e6c7022 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventEdge.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventEdge.java @@ -21,6 +21,7 @@ import graphql.annotations.annotationTypes.GraphQLName; import graphql.annotations.annotationTypes.GraphQLNonNull; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Event; +import org.apache.unomi.graphql.schema.CDPEventInterfaceRegister; import org.apache.unomi.graphql.services.ServiceManager; @GraphQLName("CDP_EventEdge") @@ -46,7 +47,7 @@ public class CDPEventEdge { public CDPEventInterface node(final DataFetchingEnvironment environment) { final ServiceManager serviceManager = environment.getContext(); - return serviceManager.getEventInterfaceRegister().getEvent(getEvent()); + return serviceManager.getService(CDPEventInterfaceRegister.class).getEvent(getEvent()); } } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventInterface.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventInterface.java index a057e69..df20718 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventInterface.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPEventInterface.java @@ -26,6 +26,7 @@ import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Event; import org.apache.unomi.api.GeoPoint; import org.apache.unomi.api.Profile; +import org.apache.unomi.api.services.ProfileService; import org.apache.unomi.graphql.services.ServiceManager; import org.apache.unomi.graphql.types.resolvers.CDPEventInterfaceResolver; import org.apache.unomi.graphql.utils.DateUtils; @@ -79,7 +80,7 @@ public interface CDPEventInterface { } else if (getEvent().getProfileId() != null) { ServiceManager serviceManager = environment.getContext(); - Profile profile = serviceManager.getProfileService().load(getEvent().getProfileId()); + Profile profile = serviceManager.getService(ProfileService.class).load(getEvent().getProfileId()); return new CDPProfile(profile); } else { diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPListsUpdateEvent.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPListsUpdateEvent.java index 505de95..6b2eebe 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPListsUpdateEvent.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPListsUpdateEvent.java @@ -27,6 +27,7 @@ import org.apache.unomi.api.query.Query; import org.apache.unomi.graphql.condition.factories.ConditionFactory; import org.apache.unomi.graphql.converters.UserListConverter; import org.apache.unomi.graphql.services.ServiceManager; +import org.apache.unomi.services.UserListService; import java.util.List; import java.util.stream.Collectors; @@ -75,7 +76,7 @@ public class CDPListsUpdateEvent implements CDPEventInterface { final Query query = new Query(); query.setCondition(factory.propertiesCondition("itemId", "in", listIds)); - final PartialList<Metadata> partialList = serviceManager.getUserListServiceExt().getListMetadatas(query); + final PartialList<Metadata> partialList = serviceManager.getService(UserListService.class).getListMetadatas(query); if (partialList == null || partialList.getList() == null) { return null; diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPProfileEdge.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPProfileEdge.java index 2dfd4fd..66df832 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPProfileEdge.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPProfileEdge.java @@ -21,6 +21,7 @@ import graphql.annotations.annotationTypes.GraphQLName; import graphql.annotations.annotationTypes.GraphQLNonNull; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.Profile; +import org.apache.unomi.graphql.schema.CDPProfileInterfaceRegister; import org.apache.unomi.graphql.services.ServiceManager; @GraphQLName("CDP_ProfileEdge") @@ -42,7 +43,7 @@ public class CDPProfileEdge { public CDPProfileInterface node(final DataFetchingEnvironment environment) { final ServiceManager serviceManager = environment.getContext(); - return serviceManager.getProfileInterfaceRegister().getProfile(profile); + return serviceManager.getService(CDPProfileInterfaceRegister.class).getProfile(profile); } } diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPPropertyEdge.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPPropertyEdge.java index 50aa39e..ebaf8a4 100644 --- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPPropertyEdge.java +++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/types/output/CDPPropertyEdge.java @@ -22,6 +22,7 @@ import graphql.annotations.annotationTypes.GraphQLNonNull; import graphql.annotations.annotationTypes.GraphQLPrettify; import graphql.schema.DataFetchingEnvironment; import org.apache.unomi.api.PropertyType; +import org.apache.unomi.graphql.schema.CDPPropertyInterfaceRegister; import org.apache.unomi.graphql.services.ServiceManager; @GraphQLName("CDP_ProfilePropertyEdge") @@ -38,7 +39,7 @@ public class CDPPropertyEdge { public CDPPropertyInterface getNode(final DataFetchingEnvironment environment) { final ServiceManager serviceManager = environment.getContext(); - return serviceManager.getPropertyInterfaceRegister().getProperty(type); + return serviceManager.getService(CDPPropertyInterfaceRegister.class).getProperty(type); } @GraphQLNonNull
