From 32bfde9656b741ddfe703dd45c5225f2e0d305b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20Sch=C3=A4fer?= Date: Fri, 12 Oct 2018 09:08:19 +0200 Subject: [PATCH] Added method variant without result to not need to always return null as dummy value --- .../gwt/ui/server/SailingServiceImpl.java | 37 +++++-------------- .../gateway/test/jaxrs/EventResourceTest.java | 3 +- .../com/sap/sse/security/SecurityService.java | 3 ++ .../security/impl/SecurityServiceImpl.java | 12 ++++++ 4 files changed, 26 insertions(+), 29 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 534621d6c7a..be61708abc0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1338,16 +1338,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S getSecurityService().setOwnershipCheckPermissionForObjectCreationAndRevertOnError( getSecurityService().getDefaultTenant(), SecuredDomainType.TRACTRAC_ACCOUNT, name, name, - new ActionWithResult() { - - @Override - public Void run() throws Exception { - tractracMongoObjectFactory.storeTracTracConfiguration( - getTracTracAdapter().createTracTracConfiguration(name, jsonURL, liveDataURI, - storedDataURI, courseDesignUpdateURI, tracTracUsername, tracTracPassword)); - return null; - } - }); + () -> tractracMongoObjectFactory.storeTracTracConfiguration( + getTracTracAdapter().createTracTracConfiguration(name, jsonURL, liveDataURI, storedDataURI, + courseDesignUpdateURI, tracTracUsername, tracTracPassword))); } private RaceDefinition getRaceByName(Regatta regatta, String raceName) { @@ -2919,16 +2912,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S if (!jsonURL.equalsIgnoreCase("test")) { getSecurityService().setOwnershipCheckPermissionForObjectCreationAndRevertOnError( getSecurityService().getDefaultTenant(), SecuredDomainType.SWISS_TIMING_ACCOUNT, configName, - configName, new ActionWithResult() { - - @Override - public Void run() throws Exception { - swissTimingAdapterPersistence.storeSwissTimingConfiguration( - swissTimingFactory.createSwissTimingConfiguration(configName, jsonURL, hostname, - port, updateURL, updateUsername, updatePassword)); - return null; - } - }); + configName, + () -> swissTimingAdapterPersistence + .storeSwissTimingConfiguration(swissTimingFactory.createSwissTimingConfiguration(configName, + jsonURL, hostname, port, updateURL, updateUsername, updatePassword))); } } @@ -4753,14 +4740,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S public void storeSwissTimingArchiveConfiguration(String swissTimingJsonUrl) throws Exception { getSecurityService().setOwnershipCheckPermissionForObjectCreationAndRevertOnError( getSecurityService().getDefaultTenant(), SecuredDomainType.SWISS_TIMING_ACCOUNT, swissTimingJsonUrl, - swissTimingJsonUrl, new ActionWithResult() { - @Override - public Void run() throws Exception { - swissTimingAdapterPersistence.storeSwissTimingArchiveConfiguration( - swissTimingFactory.createSwissTimingArchiveConfiguration(swissTimingJsonUrl)); - return null; - } - }); + swissTimingJsonUrl, () -> swissTimingAdapterPersistence.storeSwissTimingArchiveConfiguration( + swissTimingFactory.createSwissTimingArchiveConfiguration(swissTimingJsonUrl))); } protected com.sap.sailing.domain.base.DomainFactory getBaseDomainFactory() { diff --git a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/EventResourceTest.java b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/EventResourceTest.java index d079139f9cb..54b6d00343e 100644 --- a/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/EventResourceTest.java +++ b/java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/EventResourceTest.java @@ -50,6 +50,7 @@ public class EventResourceTest extends AbstractJaxRsApiTest { private String randomName; private UriInfo uriInfo; + @SuppressWarnings("unchecked") @Before public void setUp() throws Exception { super.setUp(); @@ -80,7 +81,7 @@ public class EventResourceTest extends AbstractJaxRsApiTest { } }).when(securityService).setOwnershipCheckPermissionForObjectCreationAndRevertOnError( Mockito.any(UserGroup.class), Mockito.any(), Mockito.any(), Mockito.any(), - Mockito.any()); + Mockito.any(ActionWithResult.class)); Mockito.doReturn(true).when(fakeSubject).isAuthenticated(); diff --git a/java/com.sap.sse.security/src/com/sap/sse/security/SecurityService.java b/java/com.sap.sse.security/src/com/sap/sse/security/SecurityService.java index 50cb15bf5f6..67c052e1db3 100755 --- a/java/com.sap.sse.security/src/com/sap/sse/security/SecurityService.java +++ b/java/com.sap.sse.security/src/com/sap/sse/security/SecurityService.java @@ -328,4 +328,7 @@ public interface SecurityService extends ReplicableWithObjectInputStream T setOwnershipCheckPermissionForObjectCreationAndRevertOnError(String tenantOwnerName, HasPermissions type, String typeIdentifier, String securityDisplayName, ActionWithResult actionWithResult); + + void setOwnershipCheckPermissionForObjectCreationAndRevertOnError(UserGroup tenantOwner, HasPermissions type, + String typeIdentifier, String securityDisplayName, Action action); } diff --git a/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java b/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java index 1808867c725..7c255c18cbd 100644 --- a/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java +++ b/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java @@ -74,6 +74,7 @@ import com.sap.sse.replication.OperationWithResult; import com.sap.sse.replication.ReplicationMasterDescriptor; import com.sap.sse.replication.impl.OperationWithResultWithIdWrapper; import com.sap.sse.security.AccessControlStore; +import com.sap.sse.security.Action; import com.sap.sse.security.ActionWithResult; import com.sap.sse.security.BearerAuthenticationToken; import com.sap.sse.security.ClientUtils; @@ -1533,6 +1534,17 @@ public class SecurityServiceImpl implements ReplicableSecurityService, ClearStat actionWithResult); } + @Override + public void setOwnershipCheckPermissionForObjectCreationAndRevertOnError(UserGroup tenantOwner, + HasPermissions type, String typeIdentifier, String securityDisplayName, + Action action) { + setOwnershipCheckPermissionForObjectCreationAndRevertOnError(tenantOwner, type, typeIdentifier, + securityDisplayName, () -> { + action.run(); + return null; + }); + } + @Override public T setOwnershipCheckPermissionForObjectCreationAndRevertOnError(UserGroup tenantOwner, HasPermissions type, String typeIdentifier, String securityDisplayName,