From c3027619dfc5d3630165e7685603539d100c658e Mon Sep 17 00:00:00 2001 From: Ivan Bodrov Date: Tue, 26 Dec 2023 18:27:30 -0500 Subject: [PATCH] concord-server: remove more @Named (#839) Co-authored-by: Yury Brigadirenko --- .../concord/server/ConcordServerModule.java | 9 ++-- .../com/walmartlabs/concord/server/Utils.java | 8 +++ .../concord/server/org/OrganizationDao.java | 2 - .../server/org/OrganizationManager.java | 2 - .../server/org/OrganizationModule.java | 54 +++++++++++++++++++ .../server/org/OrganizationResource.java | 4 -- .../server/org/ProjectProcessResource.java | 4 -- .../org/inventory/InventoryDataDao.java | 2 - .../org/inventory/InventoryDataResource.java | 4 -- .../server/org/inventory/InventoryModule.java | 40 ++++++++++++++ .../org/inventory/InventoryQueryResource.java | 4 -- .../org/inventory/InventoryResource.java | 4 -- .../org/jsonstore/JsonStoreAccessManager.java | 2 - .../server/org/jsonstore/JsonStoreDao.java | 2 - .../org/jsonstore/JsonStoreDataDao.java | 2 - .../org/jsonstore/JsonStoreDataManager.java | 4 -- .../org/jsonstore/JsonStoreDataResource.java | 4 -- .../org/jsonstore/JsonStoreManager.java | 2 - .../server/org/jsonstore/JsonStoreModule.java | 47 ++++++++++++++++ .../org/jsonstore/JsonStoreQueryDao.java | 2 - .../org/jsonstore/JsonStoreQueryExecDao.java | 2 - .../org/jsonstore/JsonStoreQueryManager.java | 4 -- .../org/jsonstore/JsonStoreQueryResource.java | 4 -- .../org/jsonstore/JsonStoreResource.java | 4 -- .../org/policy/PolicyCheckResource.java | 4 -- .../concord/server/org/policy/PolicyDao.java | 2 - .../server/org/policy/PolicyModule.java | 38 +++++++++++++ .../server/org/policy/PolicyResource.java | 4 -- .../project/EncryptedProjectValueManager.java | 2 - .../concord/server/org/project/KvDao.java | 2 - .../concord/server/org/project/KvManager.java | 2 - .../org/project/ProjectAccessManager.java | 2 - .../server/org/project/ProjectDao.java | 2 - .../server/org/project/ProjectManager.java | 2 - .../server/org/project/ProjectModule.java | 50 +++++++++++++++++ .../org/project/ProjectRepositoryManager.java | 2 - .../server/org/project/ProjectResource.java | 4 -- .../server/org/project/ProjectResourceV2.java | 4 -- .../server/org/project/RepositoryDao.java | 2 - .../org/project/RepositoryResource.java | 4 -- .../org/project/RepositoryResourceV2.java | 4 -- .../RepositoryValidationExceptionMapper.java | 4 -- .../concord/server/org/secret/SecretDao.java | 2 - .../org/secret/SecretExceptionMapper.java | 4 -- .../server/org/secret/SecretManager.java | 2 - .../server/org/secret/SecretModule.java | 14 +++++ .../server/org/secret/SecretResource.java | 4 -- .../server/org/secret/SecretResourceV2.java | 6 --- .../org/secret/SecretStoreResource.java | 4 -- .../secret/provider/SecretStoreProvider.java | 2 - .../concord/server/org/team/TeamDao.java | 2 - .../concord/server/org/team/TeamManager.java | 2 - .../concord/server/org/team/TeamModule.java | 38 +++++++++++++ .../concord/server/org/team/TeamResource.java | 4 -- .../org/triggers/CronTriggerProcessor.java | 2 - .../org/triggers/GithubTriggerEnricher.java | 2 - .../server/org/triggers/TriggerManager.java | 2 - .../server/org/triggers/TriggerResource.java | 4 -- .../org/triggers/TriggerScheduleDao.java | 2 - .../org/triggers/TriggerV2Resource.java | 5 -- .../server/org/triggers/TriggersDao.java | 2 - .../server/org/triggers/TriggersModule.java | 11 ++++ .../server/process/ProcessCleaner.java | 9 ++-- .../concord/server/process/ProcessModule.java | 28 ++++++++-- .../process/ProcessSecurityContext.java | 2 - .../server/process/event/ProcessEventDao.java | 2 - .../process/event/ProcessEventManager.java | 4 -- .../process/form/FormAccessManager.java | 2 - .../server/process/form/FormManager.java | 4 -- .../server/process/form/FormModule.java | 43 +++++++++++++++ .../server/process/form/FormResourceV1.java | 2 - .../server/process/form/FormResourceV2.java | 2 - .../server/process/form/FormServiceV1.java | 4 -- .../server/process/form/FormServiceV2.java | 4 -- .../server/process/locks/ProcessLocksDao.java | 1 - .../process/locks/ProcessLocksWatchdog.java | 7 +-- .../process/logs/ProcessLogAccessManager.java | 4 -- .../process/logs/ProcessLogManager.java | 4 -- .../server/process/logs/ProcessLogsDao.java | 1 - .../process/state/ProcessCheckpointDao.java | 2 - .../state/ProcessCheckpointManager.java | 2 - .../process/state/ProcessStateManager.java | 4 -- .../process/waits/ProcessWaitManager.java | 2 - .../process/waits/ProcessWaitWatchdog.java | 24 ++++----- .../waits/WaitProcessFinishHandler.java | 9 ++-- 85 files changed, 389 insertions(+), 241 deletions(-) create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamModule.java create mode 100644 server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormModule.java diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/ConcordServerModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/ConcordServerModule.java index 14314e1d0a..844561d0c5 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/ConcordServerModule.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/ConcordServerModule.java @@ -33,8 +33,7 @@ import com.walmartlabs.concord.server.console.ConsoleModule; import com.walmartlabs.concord.server.events.EventModule; import com.walmartlabs.concord.server.metrics.MetricModule; -import com.walmartlabs.concord.server.org.secret.SecretModule; -import com.walmartlabs.concord.server.org.triggers.TriggersModule; +import com.walmartlabs.concord.server.org.OrganizationModule; import com.walmartlabs.concord.server.policy.PolicyModule; import com.walmartlabs.concord.server.process.ProcessModule; import com.walmartlabs.concord.server.repository.RepositoryModule; @@ -81,20 +80,20 @@ public void configure(Binder binder) { binder.bind(DependencyManagerConfiguration.class).toProvider(DependencyManagerConfigurationProvider.class); + binder.install(new ApiServerModule()); + binder.install(new AgentModule()); binder.install(new ApiKeyModule()); - binder.install(new ApiServerModule()); binder.install(new AuditLogModule()); binder.install(new ConsoleModule()); binder.install(new EventModule()); + binder.install(new OrganizationModule()); binder.install(new PolicyModule()); binder.install(new ProcessModule()); binder.install(new RepositoryModule()); binder.install(new RoleModule()); - binder.install(new SecretModule()); binder.install(new SecurityModule()); binder.install(new TemplateModule()); - binder.install(new TriggersModule()); bindJaxRsResource(binder, ServerResource.class); } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/Utils.java b/server/impl/src/main/java/com/walmartlabs/concord/server/Utils.java index d5c84b6d6b..af056a7a52 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/Utils.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/Utils.java @@ -25,9 +25,11 @@ import com.walmartlabs.concord.server.sdk.ScheduledTask; import org.eclipse.jetty.servlet.ServletHolder; import org.sonatype.siesta.Component; +import org.sonatype.siesta.ExceptionMapperSupport; import org.sonatype.siesta.Resource; import javax.servlet.Filter; +import javax.ws.rs.ext.ExceptionMapper; import java.util.List; import static com.google.inject.Scopes.SINGLETON; @@ -95,6 +97,12 @@ public static void bindSingletonScheduledTask(Binder binder, Class> klass) { + binder.bind(klass).in(SINGLETON); + newSetBinder(binder, Component.class).addBinding().to(klass); + newSetBinder(binder, ExceptionMapper.class).addBinding().to(klass); + } + private Utils() { } } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationDao.java index df806aa597..7a37f79482 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationDao.java @@ -31,7 +31,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.List; import java.util.Map; import java.util.UUID; @@ -42,7 +41,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Users.USERS; import static org.jooq.impl.DSL.*; -@Named public class OrganizationDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationManager.java index 2313e5d177..238da1a505 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationManager.java @@ -47,11 +47,9 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.util.Map; import java.util.UUID; -@Named public class OrganizationManager { // as defined in com/walmartlabs/concord/server/db/0.48.0.xml diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationModule.java new file mode 100644 index 0000000000..0161802b67 --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationModule.java @@ -0,0 +1,54 @@ +package com.walmartlabs.concord.server.org; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; +import com.walmartlabs.concord.server.org.inventory.InventoryModule; +import com.walmartlabs.concord.server.org.jsonstore.JsonStoreModule; +import com.walmartlabs.concord.server.org.policy.PolicyModule; +import com.walmartlabs.concord.server.org.project.ProjectModule; +import com.walmartlabs.concord.server.org.secret.SecretModule; +import com.walmartlabs.concord.server.org.team.TeamModule; +import com.walmartlabs.concord.server.org.triggers.TriggersModule; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class OrganizationModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(OrganizationDao.class).in(SINGLETON); + binder.bind(OrganizationManager.class).in(SINGLETON); + + bindJaxRsResource(binder, OrganizationResource.class); + bindJaxRsResource(binder, ProjectProcessResource.class); + + binder.install(new InventoryModule()); + binder.install(new JsonStoreModule()); + binder.install(new PolicyModule()); + binder.install(new ProjectModule()); + binder.install(new SecretModule()); + binder.install(new TeamModule()); + binder.install(new TriggersModule()); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationResource.java index 2567591e83..e8421a7e69 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/OrganizationResource.java @@ -31,8 +31,6 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -40,8 +38,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @Path("/api/v1/org") @Tag(name ="Organizations") public class OrganizationResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/ProjectProcessResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/ProjectProcessResource.java index 2d05582fa5..2714dfb3da 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/ProjectProcessResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/ProjectProcessResource.java @@ -48,8 +48,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.*; import javax.ws.rs.core.Context; @@ -64,8 +62,6 @@ import static com.walmartlabs.concord.server.process.state.ProcessStateManager.path; import static javax.ws.rs.core.Response.Status; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "Project Processes") public class ProjectProcessResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataDao.java index a2aa871ff7..fbf5f515f3 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataDao.java @@ -29,7 +29,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -39,7 +38,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.JSON_STORE_DATA; import static org.jooq.impl.DSL.*; -@Named @Deprecated public class InventoryDataDao extends AbstractDao { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataResource.java index 36ae119350..bfaf29622d 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryDataResource.java @@ -32,8 +32,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.io.IOException; @@ -41,8 +39,6 @@ import java.util.Map; import java.util.UUID; -@Named -@Singleton @Path("/api/v1/org") @Deprecated @Tag(name = "Inventory Data") diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryModule.java new file mode 100644 index 0000000000..20ecf68b47 --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryModule.java @@ -0,0 +1,40 @@ +package com.walmartlabs.concord.server.org.inventory; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +@Deprecated +public class InventoryModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(InventoryDataDao.class).in(SINGLETON); + + bindJaxRsResource(binder, InventoryResource.class); + bindJaxRsResource(binder, InventoryDataResource.class); + bindJaxRsResource(binder, InventoryQueryResource.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryQueryResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryQueryResource.java index 479bd26904..60e5237f88 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryQueryResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryQueryResource.java @@ -31,8 +31,6 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -41,8 +39,6 @@ import java.util.UUID; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/org") @Deprecated @Tag(name = "Inventory Queries") diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryResource.java index 12954ac74d..6661982ab6 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/inventory/InventoryResource.java @@ -34,8 +34,6 @@ import org.sonatype.siesta.Validate; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -43,8 +41,6 @@ import java.util.UUID; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/org") @Deprecated @Tag(name = "Inventories") diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreAccessManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreAccessManager.java index eb3080537d..9c43ce5db8 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreAccessManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreAccessManager.java @@ -31,11 +31,9 @@ import org.apache.shiro.authz.UnauthorizedException; import javax.inject.Inject; -import javax.inject.Named; import javax.ws.rs.core.Response; import java.util.UUID; -@Named public class JsonStoreAccessManager { private final UserManager userManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDao.java index c87e2f9d26..edf91d76dc 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDao.java @@ -36,7 +36,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -49,7 +48,6 @@ import static com.walmartlabs.concord.server.jooq.tables.VUserTeams.V_USER_TEAMS; import static org.jooq.impl.DSL.*; -@Named public class JsonStoreDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataDao.java index 9fd6851a69..9f50d54284 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataDao.java @@ -27,7 +27,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.math.BigDecimal; import java.util.List; import java.util.UUID; @@ -36,7 +35,6 @@ import static org.jooq.impl.DSL.coalesce; import static org.jooq.impl.DSL.sum; -@Named public class JsonStoreDataDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataManager.java index aabc478734..840aa4d074 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataManager.java @@ -40,16 +40,12 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.text.MessageFormat; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.UUID; -@Named -@Singleton public class JsonStoreDataManager { private static final String DEFAULT_POLICY_MESSAGE = "Maximum data size in the JSON store exceeded: current {0}, limit {1}"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataResource.java index 3b30a5b33d..2bd8995a50 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreDataResource.java @@ -27,14 +27,10 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "JsonStoreData") public class JsonStoreDataResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreManager.java index 463fafc39e..631ba72d00 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreManager.java @@ -43,13 +43,11 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.io.Serializable; import java.text.MessageFormat; import java.util.*; import java.util.stream.Collectors; -@Named public class JsonStoreManager { private static final String DEFAULT_POLICY_MESSAGE = "Maximum number of JSON stores exceeded: current {0}, limit {1}"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreModule.java new file mode 100644 index 0000000000..6fa7d8535d --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreModule.java @@ -0,0 +1,47 @@ +package com.walmartlabs.concord.server.org.jsonstore; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class JsonStoreModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(JsonStoreDao.class).in(SINGLETON); + binder.bind(JsonStoreManager.class).in(SINGLETON); + binder.bind(JsonStoreAccessManager.class).in(SINGLETON); + binder.bind(JsonStoreDataDao.class).in(SINGLETON); + binder.bind(JsonStoreDataManager.class).in(SINGLETON); + binder.bind(JsonStoreQueryDao.class).in(SINGLETON); + binder.bind(JsonStoreQueryExecDao.class).in(SINGLETON); + binder.bind(JsonStoreQueryManager.class).in(SINGLETON); + + + bindJaxRsResource(binder, JsonStoreResource.class); + bindJaxRsResource(binder, JsonStoreDataResource.class); + bindJaxRsResource(binder, JsonStoreQueryResource.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryDao.java index 653d029adf..cf20e6b517 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryDao.java @@ -28,14 +28,12 @@ import org.jooq.SelectJoinStep; import javax.inject.Inject; -import javax.inject.Named; import java.util.List; import java.util.UUID; import static com.walmartlabs.concord.server.jooq.tables.JsonStoreQueries.JSON_STORE_QUERIES; import static org.jooq.impl.DSL.value; -@Named public class JsonStoreQueryDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryExecDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryExecDao.java index c0b581f95c..37280a8889 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryExecDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryExecDao.java @@ -32,7 +32,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.util.List; import java.util.Map; import java.util.UUID; @@ -46,7 +45,6 @@ * more fine-tuned security configuration. * @see #execSql(UUID, String, Map, Integer) */ -@Named public class JsonStoreQueryExecDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryManager.java index db91aadda6..cae41cf378 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryManager.java @@ -34,12 +34,8 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.util.*; -@Named -@Singleton public class JsonStoreQueryManager { private final PolicyManager policyManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryResource.java index 12a8857aa5..834e0fa5cb 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreQueryResource.java @@ -31,16 +31,12 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; import java.util.Map; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "JsonStoreQuery") public class JsonStoreQueryResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreResource.java index 0354cbb04e..e4e30e3246 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/jsonstore/JsonStoreResource.java @@ -31,8 +31,6 @@ import org.sonatype.siesta.Validate; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -40,8 +38,6 @@ import java.util.Collection; import java.util.List; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "JsonStore") public class JsonStoreResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyCheckResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyCheckResource.java index 4741ffb58d..d8e31b95cb 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyCheckResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyCheckResource.java @@ -37,14 +37,10 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.UUID; -@Named -@Singleton @Path("/api/v1") @Tag(name = "PolicyCheck") public class PolicyCheckResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyDao.java index 81bb755789..df1e885ce6 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyDao.java @@ -27,7 +27,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.List; import java.util.Map; import java.util.UUID; @@ -35,7 +34,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.POLICIES; import static com.walmartlabs.concord.server.jooq.Tables.POLICY_LINKS; -@Named public class PolicyDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyModule.java new file mode 100644 index 0000000000..27d69d92dd --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyModule.java @@ -0,0 +1,38 @@ +package com.walmartlabs.concord.server.org.policy; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class PolicyModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(PolicyDao.class).in(SINGLETON); + + bindJaxRsResource(binder, PolicyResource.class); + bindJaxRsResource(binder, PolicyCheckResource.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyResource.java index 260d813983..79a917a23c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/policy/PolicyResource.java @@ -45,8 +45,6 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -56,8 +54,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @Path("/api/v2/policy") @Tag(name = "Policy") public class PolicyResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/EncryptedProjectValueManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/EncryptedProjectValueManager.java index d721b30a00..72c2fdb6a9 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/EncryptedProjectValueManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/EncryptedProjectValueManager.java @@ -26,11 +26,9 @@ import javax.crypto.BadPaddingException; import javax.crypto.IllegalBlockSizeException; import javax.inject.Inject; -import javax.inject.Named; import java.security.SecureRandom; import java.util.UUID; -@Named public class EncryptedProjectValueManager { private static final int PROJECT_SECRET_KEY_LENGTH = 128; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvDao.java index 3cd9467cc0..fd0b0c88eb 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvDao.java @@ -31,7 +31,6 @@ import org.jooq.exception.DataAccessException; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.util.List; import java.util.UUID; @@ -40,7 +39,6 @@ import static org.jooq.impl.DSL.currentOffsetDateTime; import static org.jooq.impl.DSL.value; -@Named public class KvDao extends AbstractDao { private final Locks locks; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvManager.java index dd5ec6f2e3..29a2817ea8 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/KvManager.java @@ -28,13 +28,11 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.text.MessageFormat; import java.util.List; import java.util.Objects; import java.util.UUID; -@Named public class KvManager { private static final String DEFAULT_POLICY_MESSAGE = "Maximum KV entries exceeded: current {0}, limit {1}"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectAccessManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectAccessManager.java index 43a4919d39..391ef45711 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectAccessManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectAccessManager.java @@ -34,7 +34,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.io.Serializable; import java.util.Collection; import java.util.Collections; @@ -42,7 +41,6 @@ import java.util.UUID; import java.util.stream.Collectors; -@Named public class ProjectAccessManager { private final OrganizationManager orgManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectDao.java index 1b6d350adf..51e9fce21f 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectDao.java @@ -38,7 +38,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; @@ -55,7 +54,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Users.USERS; import static org.jooq.impl.DSL.*; -@Named public class ProjectDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectManager.java index 654ee82907..f058e563a2 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectManager.java @@ -45,13 +45,11 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import javax.ws.rs.core.Response; import java.util.*; import static com.walmartlabs.concord.server.jooq.tables.Projects.PROJECTS; -@Named public class ProjectManager { private final OrganizationManager orgManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectModule.java new file mode 100644 index 0000000000..41beb5e685 --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectModule.java @@ -0,0 +1,50 @@ +package com.walmartlabs.concord.server.org.project; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindExceptionMapper; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class ProjectModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(EncryptedProjectValueManager.class).in(SINGLETON); + binder.bind(KvDao.class).in(SINGLETON); + binder.bind(KvManager.class).in(SINGLETON); + binder.bind(ProjectAccessManager.class).in(SINGLETON); + binder.bind(ProjectDao.class).in(SINGLETON); + binder.bind(ProjectManager.class).in(SINGLETON); + binder.bind(ProjectRepositoryManager.class).in(SINGLETON); + binder.bind(RepositoryDao.class).in(SINGLETON); + + bindJaxRsResource(binder, ProjectResource.class); + bindJaxRsResource(binder, ProjectResourceV2.class); + bindJaxRsResource(binder, RepositoryResource.class); + bindJaxRsResource(binder, RepositoryResourceV2.class); + + bindExceptionMapper(binder, RepositoryValidationExceptionMapper.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java index bc931aa6e6..4beafc9c9c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectRepositoryManager.java @@ -40,12 +40,10 @@ import javax.annotation.Nullable; import javax.inject.Inject; -import javax.inject.Named; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import java.util.*; -@Named public class ProjectRepositoryManager { private final ProjectAccessManager projectAccessManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResource.java index ff30ef2c77..bdb7c0a238 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResource.java @@ -35,8 +35,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -44,8 +42,6 @@ import java.util.*; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "Projects") public class ProjectResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResourceV2.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResourceV2.java index 7db0a2cd5b..c9006c55d5 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResourceV2.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/ProjectResourceV2.java @@ -27,16 +27,12 @@ import org.sonatype.siesta.Validate; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -@Named -@Singleton @Path("/api/v2/org") @Tag(name = "Projects") public class ProjectResourceV2 implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryDao.java index 4789e9eaba..9ed1927fc4 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryDao.java @@ -27,7 +27,6 @@ import org.jooq.exception.DataAccessException; import javax.inject.Inject; -import javax.inject.Named; import java.util.List; import java.util.Map; import java.util.UUID; @@ -36,7 +35,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Secrets.SECRETS; import static org.jooq.impl.DSL.*; -@Named public class RepositoryDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResource.java index 5b7ede1681..e6b38df5aa 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResource.java @@ -35,8 +35,6 @@ import org.sonatype.siesta.Validate; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -44,8 +42,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "Repositories") public class RepositoryResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResourceV2.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResourceV2.java index 7e11ef4052..3d255dbf32 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResourceV2.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryResourceV2.java @@ -28,8 +28,6 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -38,8 +36,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @Path("/api/v2/repository") @Tag(name = "RepositoriesV2") public class RepositoryResourceV2 implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryValidationExceptionMapper.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryValidationExceptionMapper.java index d94f3cad1d..e9b87857f7 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryValidationExceptionMapper.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/project/RepositoryValidationExceptionMapper.java @@ -23,8 +23,6 @@ import com.walmartlabs.concord.server.process.ErrorMessage; import org.sonatype.siesta.ExceptionMapperSupport; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; @@ -32,8 +30,6 @@ import java.io.PrintWriter; import java.io.StringWriter; -@Named -@Singleton public class RepositoryValidationExceptionMapper extends ExceptionMapperSupport { private static final int MAX_CAUSE_DEPTH = 5; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretDao.java index 080df43b0b..340775295a 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretDao.java @@ -38,7 +38,6 @@ import org.jooq.exception.DataAccessException; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.util.*; import java.util.stream.Collectors; @@ -53,7 +52,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Users.USERS; import static org.jooq.impl.DSL.*; -@Named public class SecretDao extends AbstractDao { public enum InsertMode { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretExceptionMapper.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretExceptionMapper.java index b8cc64db41..467c8843d0 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretExceptionMapper.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretExceptionMapper.java @@ -22,14 +22,10 @@ import org.sonatype.siesta.ExceptionMapperSupport; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; -@Named -@Singleton public class SecretExceptionMapper extends ExceptionMapperSupport { @Context diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java index 62ff5d021d..8937801d2d 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java @@ -58,7 +58,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response.Status; import java.io.IOException; @@ -72,7 +71,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.SECRETS; import static com.walmartlabs.concord.server.org.secret.SecretDao.InsertMode.INSERT; -@Named public class SecretManager { private final PolicyManager policyManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretModule.java index 87cc8b63f7..533c67bf5c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretModule.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretModule.java @@ -22,15 +22,29 @@ import com.google.inject.Binder; import com.google.inject.Module; +import com.walmartlabs.concord.server.org.secret.provider.SecretStoreProvider; import com.walmartlabs.concord.server.org.secret.store.SecretStore; import com.walmartlabs.concord.server.org.secret.store.concord.ConcordSecretStore; +import static com.google.inject.Scopes.SINGLETON; import static com.google.inject.multibindings.Multibinder.newSetBinder; +import static com.walmartlabs.concord.server.Utils.bindExceptionMapper; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; public class SecretModule implements Module { @Override public void configure(Binder binder) { + binder.bind(SecretManager.class).in(SINGLETON); + binder.bind(SecretDao.class).in(SINGLETON); + binder.bind(SecretStoreProvider.class).in(SINGLETON); + newSetBinder(binder, SecretStore.class).addBinding().to(ConcordSecretStore.class); + + bindJaxRsResource(binder, SecretStoreResource.class); + bindJaxRsResource(binder, SecretResource.class); + bindJaxRsResource(binder, SecretResourceV2.class); + + bindExceptionMapper(binder, SecretExceptionMapper.class); } } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResource.java index 2e041d806f..f31831a7fe 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResource.java @@ -48,8 +48,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -61,8 +59,6 @@ import java.util.*; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "Secrets") public class SecretResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResourceV2.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResourceV2.java index a3deda4e44..515363b197 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResourceV2.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretResourceV2.java @@ -32,9 +32,7 @@ import com.walmartlabs.concord.server.org.project.ProjectDao; import com.walmartlabs.concord.server.sdk.ConcordApplicationException; import com.walmartlabs.concord.server.sdk.metrics.WithTimer; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.parameters.RequestBody; @@ -45,8 +43,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.io.IOException; @@ -54,8 +50,6 @@ import java.util.*; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v2/org") @Tag(name = "SecretsV2") public class SecretResourceV2 implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretStoreResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretStoreResource.java index 685991e5bd..e035cc6612 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretStoreResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretStoreResource.java @@ -25,8 +25,6 @@ import org.sonatype.siesta.Resource; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -34,8 +32,6 @@ import java.util.List; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/secret/store") @Tag(name = "Secret stores") public class SecretStoreResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/provider/SecretStoreProvider.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/provider/SecretStoreProvider.java index aabc08e68c..347ca31299 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/provider/SecretStoreProvider.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/provider/SecretStoreProvider.java @@ -24,12 +24,10 @@ import com.walmartlabs.ollie.config.Config; import javax.inject.Inject; -import javax.inject.Named; import java.util.ArrayList; import java.util.Collection; import java.util.Set; -@Named public class SecretStoreProvider { private final Set stores; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamDao.java index 354eb619f9..8ed43d0b9c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamDao.java @@ -30,7 +30,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.Collection; import java.util.LinkedList; import java.util.List; @@ -44,7 +43,6 @@ import static org.jooq.impl.DSL.select; import static org.jooq.impl.DSL.selectFrom; -@Named public class TeamDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamManager.java index a02e3d8174..1884783542 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamManager.java @@ -38,7 +38,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -46,7 +45,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -@Named public class TeamManager { /** diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamModule.java new file mode 100644 index 0000000000..2ed4dbda35 --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamModule.java @@ -0,0 +1,38 @@ +package com.walmartlabs.concord.server.org.team; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class TeamModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(TeamDao.class).in(SINGLETON); + binder.bind(TeamManager.class).in(SINGLETON); + + bindJaxRsResource(binder, TeamResource.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamResource.java index 529726af9f..3f7757e250 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/team/TeamResource.java @@ -20,7 +20,6 @@ * ===== */ -import com.google.inject.Singleton; import com.walmartlabs.concord.common.validation.ConcordKey; import com.walmartlabs.concord.server.GenericOperationResult; import com.walmartlabs.concord.server.OperationResult; @@ -36,7 +35,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -45,8 +43,6 @@ import java.util.UUID; import java.util.stream.Collectors; -@Named -@Singleton @Path("/api/v1/org") @Tag(name = "Teams") public class TeamResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/CronTriggerProcessor.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/CronTriggerProcessor.java index 7408088415..751844194c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/CronTriggerProcessor.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/CronTriggerProcessor.java @@ -26,7 +26,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.time.ZoneId; import java.util.Arrays; @@ -34,7 +33,6 @@ import java.util.TimeZone; import java.util.UUID; -@Named public class CronTriggerProcessor { private final TriggerScheduleDao schedulerDao; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/GithubTriggerEnricher.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/GithubTriggerEnricher.java index 5f7eab30f0..378fb7a35b 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/GithubTriggerEnricher.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/GithubTriggerEnricher.java @@ -28,7 +28,6 @@ import org.jooq.DSLContext; import javax.inject.Inject; -import javax.inject.Named; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -40,7 +39,6 @@ * definitions in the DB so they can be used later to match with external events * (GitHub push notifications, for example). */ -@Named public class GithubTriggerEnricher { private final RepositoryDao repositoryDao; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerManager.java index 8328bcbe3f..fefb5efca6 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerManager.java @@ -40,14 +40,12 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; -import javax.inject.Named; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; -@Named public class TriggerManager extends AbstractDao { private static final Logger log = LoggerFactory.getLogger(TriggerManager.class); diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerResource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerResource.java index 031b16ca6e..96970f53d2 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerResource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerResource.java @@ -42,8 +42,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PathParam; @@ -53,8 +51,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @javax.ws.rs.Path("/api/v1/org") @Tag(name = "Triggers") public class TriggerResource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerScheduleDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerScheduleDao.java index 5925521741..4686f73f10 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerScheduleDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerScheduleDao.java @@ -31,7 +31,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.time.ZoneId; import java.util.*; @@ -42,7 +41,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Triggers.TRIGGERS; import static org.jooq.impl.DSL.*; -@Named public class TriggerScheduleDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerV2Resource.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerV2Resource.java index d13df58b0c..2dea622904 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerV2Resource.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggerV2Resource.java @@ -25,14 +25,11 @@ import com.walmartlabs.concord.server.org.ResourceAccessLevel; import com.walmartlabs.concord.server.org.project.*; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.sonatype.siesta.Resource; import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -41,8 +38,6 @@ import java.util.List; import java.util.UUID; -@Named -@Singleton @Path("/api/v2/trigger") @Tag(name = "TriggersV2") public class TriggerV2Resource implements Resource { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersDao.java index c50df85797..97ea03c997 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersDao.java @@ -31,7 +31,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -43,7 +42,6 @@ import static org.jooq.impl.DSL.select; import static org.jooq.impl.DSL.value; -@Named public class TriggersDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersModule.java index da6fb222c2..66fa25454a 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersModule.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/triggers/TriggersModule.java @@ -23,12 +23,23 @@ import com.google.inject.Binder; import com.google.inject.Module; +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; import static com.walmartlabs.concord.server.Utils.bindSingletonScheduledTask; public class TriggersModule implements Module { @Override public void configure(Binder binder) { + binder.bind(CronTriggerProcessor.class).in(SINGLETON); + binder.bind(GithubTriggerEnricher.class).in(SINGLETON); + binder.bind(TriggerManager.class).in(SINGLETON); + binder.bind(TriggerScheduleDao.class).in(SINGLETON); + binder.bind(TriggersDao.class).in(SINGLETON); + + bindJaxRsResource(binder, TriggerResource.class); + bindJaxRsResource(binder, TriggerV2Resource.class); + bindSingletonScheduledTask(binder, TriggerScheduler.class); } } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessCleaner.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessCleaner.java index db5e7b760e..ec5b9653ea 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessCleaner.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessCleaner.java @@ -31,7 +31,6 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; -import javax.inject.Named; import java.time.OffsetDateTime; import java.util.UUID; @@ -55,9 +54,9 @@ public class ProcessCleaner implements ScheduledTask { private final CleanerDao cleanerDao; @Inject - public ProcessCleaner(ProcessConfiguration cfg, CleanerDao cleanerDao) { + public ProcessCleaner(ProcessConfiguration cfg, @MainDB Configuration dbCfg) { this.cfg = cfg; - this.cleanerDao = cleanerDao; + this.cleanerDao = new CleanerDao(dbCfg); } @Override @@ -76,11 +75,9 @@ public void performTask() { cleanerDao.deleteOrphans(cfg); } - @Named private static class CleanerDao extends AbstractDao { - @Inject - protected CleanerDao(@MainDB Configuration cfg) { + private CleanerDao(@MainDB Configuration cfg) { super(cfg); } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessModule.java index 484bff5efe..8a944573cb 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessModule.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessModule.java @@ -25,10 +25,15 @@ import com.walmartlabs.concord.imports.ImportManager; import com.walmartlabs.concord.server.process.checkpoint.ProcessCheckpointResource; import com.walmartlabs.concord.server.process.checkpoint.ProcessCheckpointV2Resource; +import com.walmartlabs.concord.server.process.event.ProcessEventDao; +import com.walmartlabs.concord.server.process.event.ProcessEventManager; import com.walmartlabs.concord.server.process.event.ProcessEventResource; -import com.walmartlabs.concord.server.process.form.FormResource; +import com.walmartlabs.concord.server.process.form.FormModule; +import com.walmartlabs.concord.server.process.locks.ProcessLocksDao; import com.walmartlabs.concord.server.process.locks.ProcessLocksResource; import com.walmartlabs.concord.server.process.locks.ProcessLocksWatchdog; +import com.walmartlabs.concord.server.process.logs.ProcessLogAccessManager; +import com.walmartlabs.concord.server.process.logs.ProcessLogManager; import com.walmartlabs.concord.server.process.pipelines.processors.ExclusiveGroupProcessor; import com.walmartlabs.concord.server.process.pipelines.processors.policy.*; import com.walmartlabs.concord.server.process.queue.EnqueuedTaskProvider; @@ -39,6 +44,9 @@ import com.walmartlabs.concord.server.process.queue.dispatcher.Dispatcher; import com.walmartlabs.concord.server.process.queue.dispatcher.ExclusiveProcessFilter; import com.walmartlabs.concord.server.process.queue.dispatcher.Filter; +import com.walmartlabs.concord.server.process.state.ProcessCheckpointDao; +import com.walmartlabs.concord.server.process.state.ProcessCheckpointManager; +import com.walmartlabs.concord.server.process.state.ProcessStateManager; import com.walmartlabs.concord.server.process.waits.*; import com.walmartlabs.concord.server.sdk.BackgroundTask; import com.walmartlabs.concord.server.sdk.log.ProcessLogListener; @@ -53,6 +61,17 @@ public class ProcessModule implements Module { @Override public void configure(Binder binder) { binder.bind(ImportManager.class).toProvider(ImportManagerProvider.class); + binder.bind(ProcessEventDao.class).in(SINGLETON); + binder.bind(ProcessEventManager.class).in(SINGLETON); + binder.bind(ProcessLocksDao.class).in(SINGLETON); + binder.bind(ProcessLocksDao.class).in(SINGLETON); + binder.bind(ProcessLogAccessManager.class).in(SINGLETON); + binder.bind(ProcessLogManager.class).in(SINGLETON); + binder.bind(ProcessSecurityContext.class).in(SINGLETON); + binder.bind(ProcessCheckpointDao.class).in(SINGLETON); + binder.bind(ProcessCheckpointManager.class).in(SINGLETON); + binder.bind(ProcessStateManager.class).in(SINGLETON); + binder.bind(ProcessWaitManager.class).in(SINGLETON); bindSingletonScheduledTask(binder, ProcessCleaner.class); bindSingletonScheduledTask(binder, ProcessLocksWatchdog.class); @@ -61,7 +80,6 @@ public void configure(Binder binder) { binder.bind(Dispatcher.class).in(SINGLETON); newSetBinder(binder, BackgroundTask.class).addBinding().to(Dispatcher.class); - newSetBinder(binder, BackgroundTask.class).addBinding().toProvider(EnqueuedTaskProvider.class).in(SINGLETON); newSetBinder(binder, ProcessStatusListener.class).addBinding().to(WaitProcessStatusListener.class); @@ -76,15 +94,12 @@ public void configure(Binder binder) { newSetBinder(binder, ProcessLogListener.class); - binder.install(new ExclusiveGroupProcessor.ModeProcessorModule()); - newSetBinder(binder, PolicyApplier.class).addBinding().to(ContainerPolicyApplier.class); newSetBinder(binder, PolicyApplier.class).addBinding().to(FilePolicyApplier.class); newSetBinder(binder, PolicyApplier.class).addBinding().to(ProcessRuntimePolicyApplier.class); newSetBinder(binder, PolicyApplier.class).addBinding().to(ProcessTimeoutPolicyApplier.class); newSetBinder(binder, PolicyApplier.class).addBinding().to(WorkspacePolicyApplier.class); - bindJaxRsResource(binder, FormResource.class); bindJaxRsResource(binder, ProcessCheckpointResource.class); bindJaxRsResource(binder, ProcessCheckpointV2Resource.class); bindJaxRsResource(binder, ProcessEventResource.class); @@ -94,5 +109,8 @@ public void configure(Binder binder) { bindJaxRsResource(binder, ProcessLogResourceV2.class); bindJaxRsResource(binder, ProcessResource.class); bindJaxRsResource(binder, ProcessResourceV2.class); + + binder.install(new ExclusiveGroupProcessor.ModeProcessorModule()); + binder.install(new FormModule()); } } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessSecurityContext.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessSecurityContext.java index 9eeefc8404..09b297d5c6 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessSecurityContext.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/ProcessSecurityContext.java @@ -40,14 +40,12 @@ import org.apache.shiro.util.ThreadContext; import javax.inject.Inject; -import javax.inject.Named; import java.util.Collection; import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; -@Named public class ProcessSecurityContext { private static final String PRINCIPAL_FILE_PATH = ".concord/current_user"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventDao.java index 2f4fa18f2b..ae73634c21 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventDao.java @@ -30,7 +30,6 @@ import org.jooq.*; import javax.inject.Inject; -import javax.inject.Named; import java.sql.PreparedStatement; import java.time.OffsetDateTime; import java.util.*; @@ -38,7 +37,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.PROCESS_EVENTS; import static org.jooq.impl.DSL.*; -@Named public class ProcessEventDao extends AbstractDao { private final ConcordObjectMapper objectMapper; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventManager.java index 137a251efc..d9c944fc34 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/event/ProcessEventManager.java @@ -30,13 +30,9 @@ import org.jooq.DSLContext; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.util.Collections; import java.util.List; -@Named -@Singleton public class ProcessEventManager { private final ProcessEventDao eventDao; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormAccessManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormAccessManager.java index 9cb3728294..cf1ee64bdd 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormAccessManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormAccessManager.java @@ -30,7 +30,6 @@ import org.apache.shiro.authz.UnauthorizedException; import javax.inject.Inject; -import javax.inject.Named; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; @@ -43,7 +42,6 @@ import static com.walmartlabs.concord.server.process.state.ProcessStateManager.path; -@Named public class FormAccessManager { private static final Pattern GROUP_PATTERN = Pattern.compile("CN=(.*?),", Pattern.CASE_INSENSITIVE); diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormManager.java index 7a4d524ea0..26dc224a83 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormManager.java @@ -26,8 +26,6 @@ import com.walmartlabs.concord.server.sdk.ProcessKey; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; @@ -39,8 +37,6 @@ import static com.walmartlabs.concord.server.process.state.ProcessStateManager.path; -@Named -@Singleton public class FormManager { private final ProcessStateManager stateManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormModule.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormModule.java new file mode 100644 index 0000000000..9b30cf9eee --- /dev/null +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormModule.java @@ -0,0 +1,43 @@ +package com.walmartlabs.concord.server.process.form; + +/*- + * ***** + * Concord + * ----- + * Copyright (C) 2017 - 2023 Walmart Inc. + * ----- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ===== + */ + +import com.google.inject.Binder; +import com.google.inject.Module; + +import static com.google.inject.Scopes.SINGLETON; +import static com.walmartlabs.concord.server.Utils.bindJaxRsResource; + +public class FormModule implements Module { + + @Override + public void configure(Binder binder) { + binder.bind(FormAccessManager.class).in(SINGLETON); + binder.bind(FormManager.class).in(SINGLETON); + binder.bind(FormResourceV1.class).in(SINGLETON); + binder.bind(FormResourceV2.class).in(SINGLETON); + binder.bind(FormServiceV1.class).in(SINGLETON); + binder.bind(FormServiceV1.class).in(SINGLETON); + binder.bind(FormServiceV2.class).in(SINGLETON); + + bindJaxRsResource(binder, FormResource.class); + } +} diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV1.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV1.java index 158ce64f13..4639120c53 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV1.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV1.java @@ -43,8 +43,6 @@ import javax.ws.rs.core.Response.Status; import java.util.*; -@Named -@Singleton @Tag(name = "FormsV1") public class FormResourceV1 { diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV2.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV2.java index b496a8e21c..a749812294 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV2.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormResourceV2.java @@ -35,8 +35,6 @@ import java.io.Serializable; import java.util.*; -@Named -@Singleton public class FormResourceV2 { private static final String FORMS_RESOURCES_PATH = "forms"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV1.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV1.java index 31153a417b..c54b27500a 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV1.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV1.java @@ -43,8 +43,6 @@ import io.takari.bpm.form.FormValidatorLocale; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; @@ -54,8 +52,6 @@ import static com.walmartlabs.concord.server.process.state.ProcessStateManager.path; -@Named -@Singleton public class FormServiceV1 { public static final String FORMS_RESOURCES_PATH = "forms"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV2.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV2.java index a65e60c7a4..8c2faa156c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV2.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/form/FormServiceV2.java @@ -35,14 +35,10 @@ import com.walmartlabs.concord.server.user.UserManager; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.io.IOException; import java.nio.file.Path; import java.util.*; -@Named -@Singleton public class FormServiceV2 { public static final String FORMS_RESOURCES_PATH = "forms"; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksDao.java index a017a0bebd..f2d5b339a4 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksDao.java @@ -36,7 +36,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.PROCESS_LOCKS; -@Named public class ProcessLocksDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksWatchdog.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksWatchdog.java index 429a66db95..a8e95a8fc4 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksWatchdog.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/locks/ProcessLocksWatchdog.java @@ -34,7 +34,6 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; -import javax.inject.Named; import java.util.UUID; import static com.walmartlabs.concord.server.jooq.Tables.PROCESS_LOCKS; @@ -51,8 +50,8 @@ public class ProcessLocksWatchdog implements ScheduledTask { private final WatchdogDao dao; @Inject - public ProcessLocksWatchdog(WatchdogDao dao) { - this.dao = dao; + public ProcessLocksWatchdog(@MainDB Configuration cfg) { + this.dao = new WatchdogDao(cfg); } @Override @@ -72,7 +71,6 @@ public void performTask() { log.debug("performTask -> {} locks deleted", count); } - @Named private static final class WatchdogDao extends AbstractDao { private static final ProcessStatus[] FINISHED_STATUSES = { @@ -82,7 +80,6 @@ private static final class WatchdogDao extends AbstractDao { ProcessStatus.TIMED_OUT }; - @Inject public WatchdogDao(@MainDB Configuration cfg) { super(cfg); } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogAccessManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogAccessManager.java index 65a047d9c3..cdfd34087e 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogAccessManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogAccessManager.java @@ -32,12 +32,8 @@ import org.apache.shiro.authz.UnauthorizedException; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.util.UUID; -@Named -@Singleton public class ProcessLogAccessManager { private final ProjectAccessManager projectAccessManager; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogManager.java index 5709a9ff63..40c83d9976 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogManager.java @@ -31,8 +31,6 @@ import org.jooq.DSLContext; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.time.OffsetDateTime; import java.util.List; import java.util.UUID; @@ -40,8 +38,6 @@ import static com.walmartlabs.concord.common.LogUtils.LogLevel; import static com.walmartlabs.concord.server.process.logs.ProcessLogsDao.ProcessLog; -@Named -@Singleton public class ProcessLogManager { private static final long SYSTEM_SEGMENT_ID = 0; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogsDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogsDao.java index 064bae9fff..f10e0e84b2 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogsDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/logs/ProcessLogsDao.java @@ -43,7 +43,6 @@ import static com.walmartlabs.concord.server.jooq.Tables.PROCESS_LOG_SEGMENTS; import static org.jooq.impl.DSL.*; -@Named public class ProcessLogsDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointDao.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointDao.java index 0680617351..294b4f298c 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointDao.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointDao.java @@ -30,7 +30,6 @@ import org.sonatype.siesta.ValidationErrorsException; import javax.inject.Inject; -import javax.inject.Named; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; @@ -44,7 +43,6 @@ import static com.walmartlabs.concord.server.jooq.tables.ProcessCheckpoints.PROCESS_CHECKPOINTS; -@Named public class ProcessCheckpointDao extends AbstractDao { @Inject diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointManager.java index 57584472ac..78db7c5bf3 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessCheckpointManager.java @@ -37,7 +37,6 @@ import javax.annotation.Nullable; import javax.inject.Inject; -import javax.inject.Named; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -48,7 +47,6 @@ import static com.walmartlabs.concord.sdk.Constants.Files.CHECKPOINT_META_FILE_NAME; -@Named public class ProcessCheckpointManager { private final ProcessCheckpointDao checkpointDao; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessStateManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessStateManager.java index a9b907416f..2d5515d212 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessStateManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/state/ProcessStateManager.java @@ -49,8 +49,6 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -71,8 +69,6 @@ import static com.walmartlabs.concord.server.jooq.tables.Projects.PROJECTS; import static org.jooq.impl.DSL.*; -@Named -@Singleton public class ProcessStateManager extends AbstractDao { private static final Logger log = LoggerFactory.getLogger(ProcessStateManager.class); diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitManager.java index 75f399b993..6ec4a12dd6 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitManager.java @@ -38,8 +38,6 @@ import java.util.Map; import java.util.stream.Collectors; -@Named -@Singleton public class ProcessWaitManager { private final ProcessWaitDao processWaitDao; diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitWatchdog.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitWatchdog.java index 71fe546f45..88e6405999 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitWatchdog.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/ProcessWaitWatchdog.java @@ -43,7 +43,6 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; -import javax.inject.Named; import java.io.IOException; import java.time.OffsetDateTime; import java.util.*; @@ -69,7 +68,8 @@ public class ProcessWaitWatchdog implements ScheduledTask { @Inject @SuppressWarnings({"unchecked", "rawtypes"}) public ProcessWaitWatchdog(ProcessWaitWatchdogConfiguration cfg, - WatchdogDao dao, + @MainDB Configuration dbCfg, + ConcordObjectMapper objectMapper, ProcessWaitManager processWaitManager, ProcessManager processManager, PayloadManager payloadManager, @@ -77,7 +77,7 @@ public ProcessWaitWatchdog(ProcessWaitWatchdogConfiguration cfg, MetricRegistry metricRegistry) { this.cfg = cfg; - this.dao = dao; + this.dao = new WatchdogDao(dbCfg, objectMapper); this.processWaitManager = processWaitManager; this.processManager = processManager; this.payloadManager = payloadManager; @@ -137,7 +137,7 @@ void processWaits(WaitingProcess p) { } if (result != null) { - if (result.waitCondition() != null){ + if (result.waitCondition() != null) { resultWaits.add(result.waitCondition()); } else if (result.resumeEvent() != null) { resumeEvents.add(result.resumeEvent()); @@ -216,16 +216,14 @@ static ImmutableWaitingProcess.Builder builder() { } } - @Named - static class WatchdogDao extends AbstractDao { + private static class WatchdogDao extends AbstractDao { private static final TypeReference> WAIT_LIST = new TypeReference>() { }; private final ConcordObjectMapper objectMapper; - @Inject - public WatchdogDao(@MainDB Configuration cfg, ConcordObjectMapper objectMapper) { + private WatchdogDao(@MainDB Configuration cfg, ConcordObjectMapper objectMapper) { super(cfg); this.objectMapper = objectMapper; @@ -237,11 +235,11 @@ public List nextWaitItems(Long lastId, int pollLimit) { ProcessWaitConditions w = PROCESS_WAIT_CONDITIONS.as("w"); SelectConditionStep> s = tx.select( - w.INSTANCE_ID, - w.INSTANCE_CREATED_AT, - w.ID_SEQ, - w.WAIT_CONDITIONS, - w.VERSION) + w.INSTANCE_ID, + w.INSTANCE_CREATED_AT, + w.ID_SEQ, + w.WAIT_CONDITIONS, + w.VERSION) .from(w) .where(w.IS_WAITING.eq(true)); diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/WaitProcessFinishHandler.java b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/WaitProcessFinishHandler.java index fac6670c68..9f50d5031e 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/WaitProcessFinishHandler.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/process/waits/WaitProcessFinishHandler.java @@ -30,7 +30,6 @@ import org.jooq.Configuration; import javax.inject.Inject; -import javax.inject.Named; import javax.inject.Singleton; import java.util.ArrayList; import java.util.List; @@ -50,8 +49,8 @@ public class WaitProcessFinishHandler implements ProcessWaitHandler awaitP } } - @Named private static final class Dao extends AbstractDao { - @Inject - public Dao(@MainDB Configuration cfg) { + private Dao(@MainDB Configuration cfg) { super(cfg); }