mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 01:29:33 +00:00
bug6060: renamed com.sap.sse.debranding to branding; moved logic into an OSGi service
This commit is contained in:
1 parent
2db94e68c6
commit
025ff4a9da
34 files changed
+156
-84
No files matched your search
@@ -11,7 +11,7 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.google.gwt.user;bundle-version="2.10.0";resolution:=optional,
|
||||
com.google.gwt.servlet;bundle-version="2.10.0",
|
||||
com.sap.sse.common,
|
||||
com.sap.sse.debranding,
|
||||
com.sap.sse.branding,
|
||||
com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.shared.android,
|
||||
com.sap.sailing.gwt.ui,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
version="3.1">
|
||||
|
||||
<listener>
|
||||
<listener-class>com.sap.sse.debranding.ClientConfigurationListener</listener-class>
|
||||
<listener-class>com.sap.sse.branding.ClientConfigurationListener</listener-class>
|
||||
</listener>
|
||||
<servlet>
|
||||
<servlet-name>default</servlet-name>
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ public interface SailingServerConfiguration extends Serializable {
|
||||
|
||||
void setStandaloneServer(boolean isStandaloneServer);
|
||||
|
||||
Boolean getDebrandingActive();
|
||||
Boolean isDebrandingActive();
|
||||
|
||||
void setDebrandingActive(Boolean debrandingActive);
|
||||
}
|
||||
+1
-1
@@ -31,7 +31,7 @@ public class SailingServerConfigurationImpl implements SailingServerConfiguratio
|
||||
this.isStandaloneServer = isStandaloneServer;
|
||||
}
|
||||
|
||||
public Boolean getDebrandingActive() {
|
||||
public Boolean isDebrandingActive() {
|
||||
return debrandingActive;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sse.datamining.annotations,
|
||||
com.sap.sse.shared.android,
|
||||
com.sap.sailing.competitorimport,
|
||||
com.sap.sse.debranding,
|
||||
com.sap.sse.branding,
|
||||
com.sap.sailing.expeditionconnector,
|
||||
com.sap.sailing.expeditionconnector.common,
|
||||
org.mp4parser.isoparser;bundle-version="1.9.37",
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<url-pattern>*.html</url-pattern>
|
||||
</filter-mapping>
|
||||
<listener>
|
||||
<listener-class>com.sap.sse.debranding.ClientConfigurationListener</listener-class>
|
||||
<listener-class>com.sap.sse.branding.ClientConfigurationListener</listener-class>
|
||||
</listener>
|
||||
<filter>
|
||||
<filter-name>SameSiteFilter</filter-name>
|
||||
|
||||
+2
-10
@@ -229,15 +229,8 @@ public class LocalServerManagementPanel extends SimplePanel {
|
||||
: null;
|
||||
|
||||
final Boolean debrandingActive = debrandingCheckbox.getValue();
|
||||
|
||||
final ServerConfigurationDTO serverConfig = new ServerConfigurationDTO(
|
||||
isStandaloneServerCheckbox.getValue(),
|
||||
publicServer,
|
||||
selfServiceServer,
|
||||
null
|
||||
);
|
||||
serverConfig.setDebrandingActive(debrandingActive);
|
||||
|
||||
final ServerConfigurationDTO serverConfig = new ServerConfigurationDTO(isStandaloneServerCheckbox.getValue(),
|
||||
publicServer, selfServiceServer, null, debrandingActive);
|
||||
isSelfServiceServerCheckbox.getElement().setAttribute("updating", "true");
|
||||
sailingService.updateServerConfiguration(serverConfig, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
@@ -302,7 +295,6 @@ public class LocalServerManagementPanel extends SimplePanel {
|
||||
isStandaloneServerCheckbox.setEnabled(true);
|
||||
isPublicServerCheckbox.setValue(result.isPublic(), false);
|
||||
isSelfServiceServerCheckbox.setValue(result.isSelfService(), false);
|
||||
|
||||
if (result.getDebrandingActive() != null) {
|
||||
debrandingCheckbox.setValue(result.getDebrandingActive(), false);
|
||||
}
|
||||
|
||||
+3
-6
@@ -78,6 +78,7 @@ import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.InvalidSyntaxException;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
import org.osgi.util.tracker.ServiceTracker;
|
||||
|
||||
import com.sap.sailing.aiagent.interfaces.AIAgent;
|
||||
import com.sap.sailing.competitorimport.CompetitorProvider;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
@@ -538,7 +539,7 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet
|
||||
private static final long serialVersionUID = 9031688830194537489L;
|
||||
|
||||
private final FullyInitializedReplicableTracker<RacingEventService> racingEventServiceTracker;
|
||||
|
||||
|
||||
private final ServiceTracker<ReplicationService, ReplicationService> replicationServiceTracker;
|
||||
|
||||
private final ServiceTracker<ScoreCorrectionProvider, ScoreCorrectionProvider> scoreCorrectionProviderServiceTracker;
|
||||
@@ -3536,16 +3537,12 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet
|
||||
UserGroup serverTenant = getSecurityService().getServerGroup();
|
||||
StrippedUserGroupDTO serverTenantDTO = new SecurityDTOFactory()
|
||||
.createStrippedUserGroupDTOFromUserGroup(serverTenant, new HashMap<>());
|
||||
|
||||
ServerConfigurationDTO result = new ServerConfigurationDTO(
|
||||
sailingServerConfiguration.isStandaloneServer(),
|
||||
isPublicServer(),
|
||||
isSelfServiceServer(),
|
||||
serverTenantDTO
|
||||
serverTenantDTO, sailingServerConfiguration.isDebrandingActive()
|
||||
);
|
||||
|
||||
result.setDebrandingActive(sailingServerConfiguration.getDebrandingActive());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+3
-20
@@ -4035,29 +4035,23 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili
|
||||
@Override
|
||||
public void updateServerConfiguration(ServerConfigurationDTO serverConfiguration) {
|
||||
getSecurityService().checkCurrentUserServerPermission(ServerActions.CONFIGURE_LOCAL_SERVER);
|
||||
|
||||
getService().apply(new UpdateServerConfiguration(
|
||||
new SailingServerConfigurationImpl(
|
||||
serverConfiguration.isStandaloneServer(),
|
||||
serverConfiguration.getDebrandingActive()
|
||||
)));
|
||||
|
||||
if (serverConfiguration.isSelfService() != null) {
|
||||
final boolean isCurrentlySelfService = isSelfServiceServer();
|
||||
final boolean shouldBeSelfService = serverConfiguration.isSelfService();
|
||||
if (isCurrentlySelfService != shouldBeSelfService) {
|
||||
SecurityUtils.getSubject().checkPermission(getServerInfo().getIdentifier()
|
||||
.getStringPermission(DefaultActions.CHANGE_ACL));
|
||||
SecurityUtils.getSubject().checkPermission(getServerInfo().getIdentifier().getStringPermission(DefaultActions.CHANGE_ACL));
|
||||
if (shouldBeSelfService) {
|
||||
getSecurityService().addToAccessControlList(
|
||||
getServerInfo().getIdentifier(), null, ServerActions.CREATE_OBJECT.name());
|
||||
getSecurityService().addToAccessControlList(getServerInfo().getIdentifier(), null, ServerActions.CREATE_OBJECT.name());
|
||||
} else {
|
||||
getSecurityService().removeFromAccessControlList(
|
||||
getServerInfo().getIdentifier(), null, ServerActions.CREATE_OBJECT.name());
|
||||
getSecurityService().removeFromAccessControlList(getServerInfo().getIdentifier(), null, ServerActions.CREATE_OBJECT.name());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (serverConfiguration.isPublic() != null) {
|
||||
final RoleDefinition viewerRole = getSecurityService()
|
||||
.getRoleDefinition(SailingViewerRole.getInstance().getId());
|
||||
@@ -4082,17 +4076,6 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili
|
||||
throw new IllegalArgumentException("Viewer role or default server tenant does not exist");
|
||||
}
|
||||
}
|
||||
|
||||
if (serverConfiguration.getDebrandingActive() != null) {
|
||||
String debrandingFlag = String.valueOf(serverConfiguration.getDebrandingActive());
|
||||
System.setProperty("com.sap.sse.debranding", debrandingFlag);
|
||||
|
||||
// Only try setting servlet context if available (typical for Jetty/Tomcat)
|
||||
if (getServletContext() != null) {
|
||||
getServletContext().setAttribute(
|
||||
"clientConfigurationContext.debrandingActive", debrandingFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-7
@@ -10,7 +10,6 @@ public class ServerConfigurationDTO implements IsSerializable {
|
||||
private StrippedUserGroupDTO serverDefaultTenant;
|
||||
private Boolean debrandingActive;
|
||||
|
||||
|
||||
// for GWT
|
||||
ServerConfigurationDTO() {
|
||||
}
|
||||
@@ -19,11 +18,12 @@ public class ServerConfigurationDTO implements IsSerializable {
|
||||
* serverDefaultTenant is only for transfer to client, it is not used in the server configuration update
|
||||
*/
|
||||
public ServerConfigurationDTO(boolean isStandaloneServer, Boolean isPublic, Boolean isSelfService,
|
||||
StrippedUserGroupDTO serverDefaultTenant) {
|
||||
StrippedUserGroupDTO serverDefaultTenant, Boolean debrandingActive) {
|
||||
this.isStandaloneServer = isStandaloneServer;
|
||||
this.isPublic = isPublic;
|
||||
this.isSelfService = isSelfService;
|
||||
this.serverDefaultTenant = serverDefaultTenant;
|
||||
this.debrandingActive = debrandingActive;
|
||||
}
|
||||
|
||||
public StrippedUserGroupDTO getServerDefaultTenant() {
|
||||
@@ -41,12 +41,8 @@ public class ServerConfigurationDTO implements IsSerializable {
|
||||
public Boolean isSelfService() {
|
||||
return isSelfService;
|
||||
}
|
||||
|
||||
public Boolean getDebrandingActive() {
|
||||
return debrandingActive;
|
||||
}
|
||||
|
||||
public void setDebrandingActive(Boolean debrandingActive) {
|
||||
this.debrandingActive = debrandingActive;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -32,7 +32,7 @@ Export-Package: com.sap.sailing.landscape,
|
||||
com.sap.sailing.landscape.procedures
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.sap.sailing.server.security,
|
||||
com.sap.sse.debranding,
|
||||
com.sap.sse.branding,
|
||||
org.osgi.framework,
|
||||
org.osgi.util.tracker;version="1.5.2"
|
||||
Bundle-Activator: com.sap.sailing.landscape.impl.Activator
|
||||
+2
-2
@@ -11,8 +11,8 @@ import com.sap.sailing.landscape.SailingAnalyticsMetrics;
|
||||
import com.sap.sailing.landscape.SailingAnalyticsProcess;
|
||||
import com.sap.sailing.landscape.SailingReleaseRepository;
|
||||
import com.sap.sailing.landscape.common.SharedLandscapeConstants;
|
||||
import com.sap.sse.branding.BrandingConfigurationService;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.debranding.ClientConfigurationListener;
|
||||
import com.sap.sse.landscape.DefaultProcessConfigurationVariables;
|
||||
import com.sap.sse.landscape.ProcessConfigurationVariable;
|
||||
import com.sap.sse.landscape.Release;
|
||||
@@ -202,7 +202,7 @@ extends AwsApplicationConfiguration<ShardingKey, SailingAnalyticsMetrics, Sailin
|
||||
final List<String> result = new ArrayList<>();
|
||||
Util.addAll(getAdditionalJavaArgsForSharedSecurity(SharedLandscapeConstants.DEFAULT_DOMAIN_NAME, SharedLandscapeConstants.DEFAULT_SECURITY_SERVICE_REPLICA_SET_NAME), result);
|
||||
// TODO check whether we're really running under the default sapsailing.com domain, before activating SAP branding...
|
||||
result.add("-D"+ClientConfigurationListener.DEBRANDING_PROPERTY_NAME+"=false"); // activate branding when running under default SAP domain
|
||||
result.add("-D"+BrandingConfigurationService.DEBRANDING_PROPERTY_NAME+"=false"); // activate branding when running under default SAP domain
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -10,7 +10,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* Use this servlet to turn whitelabelling on and off during testing.
|
||||
* @see com.sap.sse.debranding.ClientConfigurationFilter
|
||||
*
|
||||
* @see com.sap.sse.branding.ClientConfigurationFilter
|
||||
* @author Georg Herdt
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -7,6 +7,7 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Fragment-Host: com.sap.sse.replication
|
||||
Import-Package: com.rabbitmq.client;version="2.8.4",
|
||||
com.sap.sse.branding,
|
||||
org.apache.commons.math;version="2.1.0"
|
||||
Require-Bundle: com.sap.sailing.server,
|
||||
com.sap.sailing.server.interface,
|
||||
|
||||
+2
-2
@@ -70,7 +70,7 @@ public abstract class AbstractServerReplicationTest extends com.sap.sse.replicat
|
||||
/* trackedRaceStatisticsCache */ null, /* restoreTrackedRaces */ false,
|
||||
/* security service tracker */ null, /* sharedSailingData */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -92,7 +92,7 @@ public abstract class AbstractServerReplicationTest extends com.sap.sse.replicat
|
||||
/* sailingNotificationService */ null, /* trackedRaceStatisticsCache */ null,
|
||||
/* restoreTrackedRaces */ false, /* security service tracker */ null, /* sharedSailingData */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -107,7 +107,7 @@ public class MediaReplicationTest extends AbstractServerReplicationTest {
|
||||
/* restoreTrackedRaces */ false, /* security service tracker */ securityServiceTrackerMock,
|
||||
/* sharedSailingData */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
result.getMasterDataClassLoaders().addClassLoader(this.getClass().getClassLoader());
|
||||
return result;
|
||||
}
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ public class AutomaticRetrackUponCompetitorSetChangeTest {
|
||||
}
|
||||
}, /* sharedSailingData */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
final Regatta regatta = service.createRegatta("Test regatta", "J/70",
|
||||
/* canBoatsOfCompetitorsChangePerRace==true because it's a league race we're using for this test */ true,
|
||||
CompetitorRegistrationType.CLOSED, /* registrationLinkSecret */ null,
|
||||
|
||||
@@ -9,6 +9,7 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: com.sap.sailing.server.gateway.deserialization,
|
||||
com.sap.sailing.server.gateway.interfaces,
|
||||
com.sap.sse.branding,
|
||||
javax.mail;version="1.4.0",
|
||||
javax.mail.internet;version="1.4.0",
|
||||
javax.mail.util;version="1.4.0",
|
||||
|
||||
@@ -343,7 +343,6 @@
|
||||
<setEntry value="com.sap.sse.datamining.shared@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining.ui@default:default"/>
|
||||
<setEntry value="com.sap.sse.datamining@default:default"/>
|
||||
<setEntry value="com.sap.sse.debranding@default:default"/>
|
||||
<setEntry value="com.sap.sse.filestorage@4:true"/>
|
||||
<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
|
||||
<setEntry value="com.sap.sse.gwt@default:default"/>
|
||||
|
||||
@@ -62,6 +62,7 @@ import com.sap.sailing.server.security.SailingViewerRole;
|
||||
import com.sap.sailing.server.statistics.TrackedRaceStatisticsCache;
|
||||
import com.sap.sailing.server.statistics.TrackedRaceStatisticsCacheImpl;
|
||||
import com.sap.sailing.shared.server.SharedSailingData;
|
||||
import com.sap.sse.branding.BrandingConfigurationService;
|
||||
import com.sap.sse.classloading.ServiceTrackerCustomizerForClassLoaderSupplierRegistrations;
|
||||
import com.sap.sse.common.TypeBasedServiceFinder;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -289,10 +290,13 @@ public class Activator implements BundleActivator {
|
||||
ServiceTrackerFactory.createAndOpen(context, CompetitorProvider.class);
|
||||
ServiceTracker<ResultUrlRegistry, ResultUrlRegistry> resultUrlRegistryServiceTracker = ServiceTrackerFactory
|
||||
.createAndOpen(context, ResultUrlRegistry.class);
|
||||
ServiceTracker<BrandingConfigurationService, BrandingConfigurationService> brandingConfigurationServiceTracker = ServiceTrackerFactory
|
||||
.createAndOpen(context, BrandingConfigurationService.class);
|
||||
racingEventService = new RacingEventServiceImpl(clearPersistentCompetitors,
|
||||
/* sensorFixStore */ null, serviceFinderFactory, trackedRegattaListener,
|
||||
notificationService, trackedRaceStatisticsCache, restoreTrackedRaces, securityServiceTracker,
|
||||
sharedSailingDataTracker, replicationServiceTracker, scoreCorrectionProviderServiceTracker, competitorProviderServiceTracker, resultUrlRegistryServiceTracker);
|
||||
sharedSailingDataTracker, replicationServiceTracker, scoreCorrectionProviderServiceTracker, competitorProviderServiceTracker,
|
||||
resultUrlRegistryServiceTracker, brandingConfigurationServiceTracker);
|
||||
notificationService.setRacingEventService(racingEventService);
|
||||
// start watching out for MasterDataImportClassLoaderService instances in the OSGi service registry and manage
|
||||
// the combined class loader accordingly:
|
||||
|
||||
+25
-7
@@ -331,6 +331,7 @@ import com.sap.sailing.server.tagging.TaggingServiceFactory;
|
||||
import com.sap.sailing.server.util.EventUtil;
|
||||
import com.sap.sailing.shared.server.SharedSailingData;
|
||||
import com.sap.sse.ServerInfo;
|
||||
import com.sap.sse.branding.BrandingConfigurationService;
|
||||
import com.sap.sse.common.Bearing;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Duration;
|
||||
@@ -614,6 +615,8 @@ Replicator {
|
||||
private final FullyInitializedReplicableTracker<SecurityService> securityServiceTracker;
|
||||
|
||||
private final CourseAndMarkConfigurationFactory courseAndMarkConfigurationFactory;
|
||||
|
||||
private final ServiceTracker<BrandingConfigurationService, BrandingConfigurationService> brandingConfigurationServiceTracker;
|
||||
|
||||
/**
|
||||
* Providing the constructor parameters for a new {@link RacingEventServiceImpl} instance is a bit tricky
|
||||
@@ -659,7 +662,8 @@ Replicator {
|
||||
/* sailingNotificationService */ null, /* trackedRaceStatisticsCache */ null,
|
||||
restoreTrackedRaces, /* securityServiceTracker */ null, /* sharedSailingDataTracker */ null,
|
||||
/* replicationServiceTracker */ null, /* scoreCorrectionProviderServiceTracker */ null,
|
||||
/* competitorProviderServiceTracker */ null, /* resultUrlRegistryServiceTracker */ null);
|
||||
/* competitorProviderServiceTracker */ null, /* resultUrlRegistryServiceTracker */ null,
|
||||
/* brandingConfigurationServiceTracker */ null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -688,7 +692,10 @@ Replicator {
|
||||
boolean restoreTrackedRaces,
|
||||
FullyInitializedReplicableTracker<SecurityService> securityServiceTracker, FullyInitializedReplicableTracker<SharedSailingData> sharedSailingDataTracker,
|
||||
ServiceTracker<ReplicationService, ReplicationService> replicationServiceTracker,
|
||||
ServiceTracker<ScoreCorrectionProvider, ScoreCorrectionProvider> scoreCorrectionProviderServiceTracker, ServiceTracker<CompetitorProvider, CompetitorProvider> competitorProviderServiceTracker, ServiceTracker<ResultUrlRegistry, ResultUrlRegistry> resultUrlRegistryServiceTracker) {
|
||||
ServiceTracker<ScoreCorrectionProvider, ScoreCorrectionProvider> scoreCorrectionProviderServiceTracker,
|
||||
ServiceTracker<CompetitorProvider, CompetitorProvider> competitorProviderServiceTracker,
|
||||
ServiceTracker<ResultUrlRegistry, ResultUrlRegistry> resultUrlRegistryServiceTracker,
|
||||
ServiceTracker<BrandingConfigurationService, BrandingConfigurationService> brandingConfigurationServiceTracker) {
|
||||
this((final RaceLogAndTrackedRaceResolver raceLogResolver) -> {
|
||||
return new ConstructorParameters() {
|
||||
private final MongoObjectFactory mongoObjectFactory = PersistenceFactory.INSTANCE
|
||||
@@ -720,7 +727,7 @@ Replicator {
|
||||
}, MediaDBFactory.INSTANCE.getDefaultMediaDB(), null, sensorFixStore, serviceFinderFactory, trackedRegattaListener,
|
||||
sailingNotificationService, trackedRaceStatisticsCache, restoreTrackedRaces,
|
||||
securityServiceTracker, sharedSailingDataTracker, /* replicationServiceTracker */ null,
|
||||
scoreCorrectionProviderServiceTracker, competitorProviderServiceTracker, resultUrlRegistryServiceTracker);
|
||||
scoreCorrectionProviderServiceTracker, competitorProviderServiceTracker, resultUrlRegistryServiceTracker, brandingConfigurationServiceTracker);
|
||||
}
|
||||
|
||||
private RacingEventServiceImpl(final boolean clearPersistentCompetitorStore, WindStore windStore,
|
||||
@@ -758,9 +765,9 @@ Replicator {
|
||||
sailingNotificationService, /* trackedRaceStatisticsCache */ null, restoreTrackedRaces,
|
||||
/* security service tracker */ null, /* sharedSailingDataTracker */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
}
|
||||
|
||||
|
||||
public RacingEventServiceImpl(final DomainObjectFactory domainObjectFactory, MongoObjectFactory mongoObjectFactory,
|
||||
MediaDB mediaDB, WindStore windStore, SensorFixStore sensorFixStore, boolean restoreTrackedRaces) {
|
||||
this((final RaceLogAndTrackedRaceResolver raceLogResolver) -> {
|
||||
@@ -790,7 +797,7 @@ Replicator {
|
||||
/* trackedRaceStatisticsCache */ null, restoreTrackedRaces, /* security service tracker */ null,
|
||||
/* sharedSailingDataTracker */ null, /* replicationServiceTracker */ null,
|
||||
/* scoreCorrectionProviderServiceTracker */ null, /* competitorProviderServiceTracker */ null,
|
||||
/* resultUrlRegistryServiceTracker */ null);
|
||||
/* resultUrlRegistryServiceTracker */ null, /* brandingConfigurationServiceTracker */ null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -831,13 +838,15 @@ Replicator {
|
||||
ServiceTracker<ReplicationService, ReplicationService> replicationServiceTracker,
|
||||
ServiceTracker<ScoreCorrectionProvider, ScoreCorrectionProvider> scoreCorrectionProviderServiceTracker,
|
||||
ServiceTracker<CompetitorProvider, CompetitorProvider> competitorProviderServiceTracker,
|
||||
ServiceTracker<ResultUrlRegistry, ResultUrlRegistry> resultUrlRegistryServiceTracker) {
|
||||
ServiceTracker<ResultUrlRegistry, ResultUrlRegistry> resultUrlRegistryServiceTracker,
|
||||
ServiceTracker<BrandingConfigurationService, BrandingConfigurationService> brandingConfigurationServiceTracker) {
|
||||
logger.info("Created " + this);
|
||||
this.securityServiceTracker = securityServiceTracker;
|
||||
this.numberOfTrackedRacesRestored = new AtomicInteger();
|
||||
this.numberOfTrackedRacesRestoredDoneLoading = new AtomicInteger();
|
||||
this.numberOfTrackedRacesStillLoading = new AtomicInteger();
|
||||
this.resultUrlRegistryServiceTracker = resultUrlRegistryServiceTracker;
|
||||
this.brandingConfigurationServiceTracker = brandingConfigurationServiceTracker;
|
||||
this.scoreCorrectionProviderServiceTracker = scoreCorrectionProviderServiceTracker;
|
||||
this.competitorProviderServiceTracker = competitorProviderServiceTracker;
|
||||
this.scoreCorrectionListenersByLeaderboard = new ConcurrentHashMap<>();
|
||||
@@ -1724,9 +1733,18 @@ Replicator {
|
||||
@Override
|
||||
public void updateServerConfiguration(SailingServerConfiguration serverConfiguration) {
|
||||
this.sailingServerConfiguration = serverConfiguration;
|
||||
final BrandingConfigurationService brandingConfigurationService = getBrandingConfigurationService();
|
||||
if (brandingConfigurationService != null) {
|
||||
// update the branding configuration service with the new server configuration
|
||||
brandingConfigurationService.setBrandingActive(serverConfiguration.isDebrandingActive());
|
||||
}
|
||||
mongoObjectFactory.storeServerConfiguration(serverConfiguration);
|
||||
}
|
||||
|
||||
private BrandingConfigurationService getBrandingConfigurationService() {
|
||||
return brandingConfigurationServiceTracker.getService();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<RemoteSailingServerReference, com.sap.sse.common.Util.Pair<Iterable<EventBase>, Exception>> getPublicEventsOfAllSailingServers() {
|
||||
return remoteSailingServerSet.getCachedEventsForRemoteSailingServers();
|
||||
|
||||
@@ -13,7 +13,7 @@ Import-Package: com.sap.sse.rest,
|
||||
Bundle-ClassPath: .
|
||||
Export-Package: com.sap.sailing.www
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: com.sap.sse.debranding,
|
||||
Require-Bundle: com.sap.sse.branding,
|
||||
com.sap.sse.security,
|
||||
org.apache.shiro.core;bundle-version="1.2.2",
|
||||
org.apache.shiro.web;bundle-version="1.2.2",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
||||
version="3.1">
|
||||
<listener>
|
||||
<listener-class>com.sap.sse.debranding.ClientConfigurationListener</listener-class>
|
||||
<listener-class>com.sap.sse.branding.ClientConfigurationListener</listener-class>
|
||||
</listener>
|
||||
<servlet>
|
||||
<servlet-name>default</servlet-name>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sse.debranding</name>
|
||||
<name>com.sap.sse.branding</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: debranding
|
||||
Bundle-SymbolicName: com.sap.sse.debranding
|
||||
Automatic-Module-Name: com.sap.sse.debranding
|
||||
Bundle-SymbolicName: com.sap.sse.branding
|
||||
Automatic-Module-Name: com.sap.sse.branding
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: javax.servlet;version="3.1.0",
|
||||
javax.servlet.http;version="3.1.0",
|
||||
javax.ws.rs.core;version="1.1.1",
|
||||
org.apache.http
|
||||
org.apache.http,
|
||||
org.osgi.framework;version="[1.10.0,2.0.0)"
|
||||
Bundle-ClassPath: .
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Require-Bundle: org.apache.commons.io
|
||||
Export-Package: com.sap.sse.debranding
|
||||
Export-Package: com.sap.sse.branding
|
||||
@@ -3,13 +3,11 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<artifactId>root</artifactId>
|
||||
<groupId>com.sap.sailing</groupId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>com.sap.sse.debranding</artifactId>
|
||||
<artifactId>com.sap.sse.branding</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.sap.sse.branding;
|
||||
|
||||
public interface BrandingConfigurationService {
|
||||
String DEBRANDING_PROPERTY_NAME = "com.sap.sse.debranding";
|
||||
|
||||
boolean isBrandingActive();
|
||||
String getDefaultBrandingLogoURL();
|
||||
String getGreyTransparentLogoURL();
|
||||
void setBrandingActive(boolean brandingActive);
|
||||
void setDefaultBrandingLogoURL(String defaultBrandingLogoURL);
|
||||
void setGreyTransparentLogoURL(String greyTransparentLogoURL);
|
||||
}
|
||||
+5
-4
@@ -1,4 +1,4 @@
|
||||
package com.sap.sse.debranding;
|
||||
package com.sap.sse.branding;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -6,6 +6,8 @@ import java.util.Map;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletRequestEvent;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.sap.sse.branding.impl.Activator;
|
||||
/**
|
||||
* JSP servlet is registered on *.html within web.xml . Use the following JSP expression
|
||||
* <pre>applicationScope['clientConfigurationContext.variableName']}</pre> to get strings replaced within the page. The
|
||||
@@ -51,8 +53,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
*
|
||||
*/
|
||||
public class ClientConfigurationListener implements javax.servlet.ServletRequestListener {
|
||||
public static final String DEBRANDING_PROPERTY_NAME = "com.sap.sse.debranding";
|
||||
|
||||
@Override
|
||||
public void requestInitialized(ServletRequestEvent sre) {
|
||||
if (sre.getServletRequest().getScheme().startsWith("http")) {
|
||||
@@ -61,7 +61,8 @@ public class ClientConfigurationListener implements javax.servlet.ServletRequest
|
||||
final ServletContext ctx = sre.getServletContext();
|
||||
final String ctxDebrandingActive = (String) ctx
|
||||
.getAttribute("clientConfigurationContext.debrandingActive");
|
||||
final boolean deBrandingActive = Boolean.valueOf(System.getProperty(DEBRANDING_PROPERTY_NAME, "true"));
|
||||
final BrandingConfigurationService brandingConfigurationService = Activator.getDefaultBrandingConfigurationService();
|
||||
final boolean deBrandingActive = brandingConfigurationService.isBrandingActive();
|
||||
if (ctxDebrandingActive == null
|
||||
|| !Boolean.toString(deBrandingActive).equalsIgnoreCase(ctxDebrandingActive)) {
|
||||
createReplacementMap(deBrandingActive).forEach((k, v) -> {
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.sap.sse.branding.impl;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
import com.sap.sse.branding.BrandingConfigurationService;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
private static BrandingConfigurationService defaultBrandingConfigurationService;
|
||||
|
||||
public static BrandingConfigurationService getDefaultBrandingConfigurationService() {
|
||||
return defaultBrandingConfigurationService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
defaultBrandingConfigurationService = new BrandingConfigurationServiceImpl();
|
||||
final boolean debrandingActive = Boolean.valueOf(System.getProperty(BrandingConfigurationService.DEBRANDING_PROPERTY_NAME, "true"));
|
||||
defaultBrandingConfigurationService.setBrandingActive(!debrandingActive);
|
||||
context.registerService(BrandingConfigurationService.class.getName(), defaultBrandingConfigurationService, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package com.sap.sse.branding.impl;
|
||||
|
||||
import com.sap.sse.branding.BrandingConfigurationService;
|
||||
|
||||
public class BrandingConfigurationServiceImpl implements BrandingConfigurationService {
|
||||
private boolean brandingActive;
|
||||
private String defaultBrandingLogoURL;
|
||||
private String greyTransparentLogoURL;
|
||||
|
||||
public BrandingConfigurationServiceImpl() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBrandingActive() {
|
||||
return brandingActive;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBrandingActive(boolean brandingActive) {
|
||||
this.brandingActive = brandingActive;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultBrandingLogoURL() {
|
||||
return defaultBrandingLogoURL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultBrandingLogoURL(String defaultBrandingLogoURL) {
|
||||
this.defaultBrandingLogoURL = defaultBrandingLogoURL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGreyTransparentLogoURL() {
|
||||
return greyTransparentLogoURL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGreyTransparentLogoURL(String greyTransparentLogoURL) {
|
||||
this.greyTransparentLogoURL = greyTransparentLogoURL;
|
||||
}
|
||||
}
|
||||
@@ -262,7 +262,7 @@ Computes leaderboard information for sailing races and offers RESTful APIs to al
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.sap.sse.debranding"
|
||||
id="com.sap.sse.branding"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
|
||||
@@ -24,7 +24,7 @@ Require-Bundle: org.eclipse.jetty.osgi-servlet-api;bundle-version="3.1.0",
|
||||
org.apache.shiro.core;bundle-version="1.2.2",
|
||||
org.apache.shiro.web;bundle-version="1.2.2",
|
||||
com.chargebee.chargebee-java;bundle-version="2.9.0",
|
||||
com.sap.sse.debranding,
|
||||
com.sap.sse.branding,
|
||||
com.sap.sse.replication,
|
||||
com.sap.sse.security.common,
|
||||
com.sap.sse.mail
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
||||
version="3.1">
|
||||
<listener>
|
||||
<listener-class>com.sap.sse.debranding.ClientConfigurationListener</listener-class>
|
||||
<listener-class>com.sap.sse.branding.ClientConfigurationListener</listener-class>
|
||||
</listener>
|
||||
<!-- Disable directory listing: -->
|
||||
<servlet>
|
||||
|
||||
+1
-1
@@ -214,7 +214,7 @@
|
||||
<module>com.sap.sailing.server.trackfiles</module>
|
||||
<module>com.sap.sailing.feature.runtime</module>
|
||||
<module>com.sap.sailing.gwt.ui</module>
|
||||
<module>com.sap.sse.debranding</module>
|
||||
<module>com.sap.sse.branding</module>
|
||||
<module>com.sap.sailing.domain.test</module>
|
||||
<module>com.sap.sse.replication.testsupport</module>
|
||||
<module>com.sap.sailing.server.testsupport</module>
|
||||
|
||||
Reference in new issue
Block a user