rename to more technically accurate ResourceBundleStringMessages and add javadoc

This commit is contained in:
Fredrik Teschke committed 2015-02-08 23:46:37 +01:00
1 parent 63dc00da31
commit 166c93f363
35 files changed
+121 -115

No files matched your search

@@ -14,8 +14,8 @@ import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.datamining.data.HasTrackedRaceContext;
import com.sap.sse.datamining.DataMiningBundleService;
import com.sap.sse.datamining.DataRetrieverChainDefinition;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.impl.ServerStringMessagesImpl;
import com.sap.sse.i18n.ResourceBundleStringMessages;
import com.sap.sse.i18n.impl.ResourceBundleStringMessagesImpl;
public class Activator implements BundleActivator, DataMiningBundleService {
@@ -23,7 +23,7 @@ public class Activator implements BundleActivator, DataMiningBundleService {
private static Activator INSTANCE;
private final ServerStringMessages sailingServerStringMessages;
private final ResourceBundleStringMessages sailingServerStringMessages;
private final SailingDataRetrieverChainDefinitions dataRetrieverChainDefinitions;
private final SailingClusterGroups clusterGroups;
@@ -31,7 +31,7 @@ public class Activator implements BundleActivator, DataMiningBundleService {
public Activator() {
dataRetrieverChainDefinitions = new SailingDataRetrieverChainDefinitions();
sailingServerStringMessages = new ServerStringMessagesImpl(STRING_MESSAGES_BASE_NAME, Activator.class.getClassLoader());
sailingServerStringMessages = new ResourceBundleStringMessagesImpl(STRING_MESSAGES_BASE_NAME, Activator.class.getClassLoader());
clusterGroups = new SailingClusterGroups();
}
@@ -48,7 +48,7 @@ public class Activator implements BundleActivator, DataMiningBundleService {
}
@Override
public ServerStringMessages getStringMessages() {
public ResourceBundleStringMessages getStringMessages() {
return sailingServerStringMessages;
}
@@ -26,7 +26,7 @@ import com.sap.sse.datamining.shared.SSEDataMiningSerializationDummy;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.DataRetrieverChainDefinitionDTO;
import com.sap.sse.datamining.shared.impl.dto.LocalizedTypeDTO;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class DataMiningServiceImpl extends RemoteServiceServlet implements DataMiningService {
private static final long serialVersionUID = -7951930891674894528L;
@@ -96,8 +96,8 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
}
private Collection<FunctionDTO> functionsAsFunctionDTOs(Iterable<Function<?>> functions, String localeInfoName) {
Locale locale = ServerStringMessages.Util.getLocaleFor(localeInfoName);
ServerStringMessages ServerStringMessages = getDataMiningServer().getStringMessages();
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(localeInfoName);
ResourceBundleStringMessages ServerStringMessages = getDataMiningServer().getStringMessages();
Collection<FunctionDTO> functionDTOs = new ArrayList<FunctionDTO>();
for (Function<?> function : functions) {
@@ -116,8 +116,8 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
private Collection<DataRetrieverChainDefinitionDTO> dataRetrieverChainDefinitionsAsDTOs(
Iterable<DataRetrieverChainDefinition<RacingEventService, ?>> dataRetrieverChainDefinitions, String localeInfoName) {
Locale locale = ServerStringMessages.Util.getLocaleFor(localeInfoName);
ServerStringMessages ServerStringMessages = getDataMiningServer().getStringMessages();
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(localeInfoName);
ResourceBundleStringMessages ServerStringMessages = getDataMiningServer().getStringMessages();
Collection<DataRetrieverChainDefinitionDTO> DTOs = new ArrayList<>();
for (DataRetrieverChainDefinition<RacingEventService, ?> dataRetrieverChainDefinition : dataRetrieverChainDefinitions) {
@@ -141,7 +141,7 @@ public class DataMiningServiceImpl extends RemoteServiceServlet implements DataM
int retrieverLevel, Iterable<FunctionDTO> dimensionDTOs, String localeInfoName) throws Exception {
DataRetrieverChainDefinition<RacingEventService, ?> retrieverChainDefinition = getDataMiningServer().getDataRetrieverChainDefinition(dataRetrieverChainDefinitionDTO.getId());
Iterable<Function<?>> dimensions = functionDTOsAsFunctions(dimensionDTOs);
Locale locale = ServerStringMessages.Util.getLocaleFor(localeInfoName);
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(localeInfoName);
Query<Set<Object>> dimensionValuesQuery = getDataMiningServer().createDimensionValuesQuery(getRacingEventService(), retrieverChainDefinition, retrieverLevel, dimensions, locale);
QueryResult<Set<Object>> result = dimensionValuesQuery.run();
return result;
@@ -37,11 +37,11 @@ import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.datamining.test.util.components.TestLegOfCompetitorWithContextRetrievalProcessor;
import com.sap.sse.datamining.test.util.components.TestRaceWithContextRetrievalProcessor;
import com.sap.sse.datamining.test.util.components.TestRegattaRetrievalProcessor;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestDimensionsValuesQuery {
private static final ServerStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private static final Locale locale = Locale.ENGLISH;
private DataRetrieverChainDefinition<Collection<Test_Regatta>, Test_HasLegOfCompetitorContext> dataRetrieverChainDefinition;
@@ -44,11 +44,11 @@ import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.datamining.test.util.components.BlockingProcessor;
import com.sap.sse.datamining.test.util.components.NullProcessor;
import com.sap.sse.datamining.test.util.components.Number;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestProcessorQuery {
private final static ServerStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private final static ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private ProcessorFactory processorFactory;
@@ -11,13 +11,13 @@ import org.junit.Test;
import com.sap.sse.datamining.data.Cluster;
import com.sap.sse.datamining.data.ClusterBoundary;
import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestClustersWithBoundaries {
private static final char INFINITE = '\u221e';
private static final ServerStringMessages stringMessages = TestsUtil.getTestStringMessages();
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessages();
private static final Comparator<Integer> comparator = new ComparableComparator<Integer>();
private static final ClusterBoundary<Integer> lowerBound = new ComparatorClusterBoundary<Integer>(comparator, 0, ComparisonStrategy.GREATER_EQUALS_THAN);
@@ -16,11 +16,11 @@ import com.sap.sse.datamining.data.Cluster;
import com.sap.sse.datamining.data.ClusterBoundary;
import com.sap.sse.datamining.data.ClusterGroup;
import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestFixClusterGroup {
private static final ServerStringMessages stringMessages = TestsUtil.getTestStringMessages();
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessages();
private static final Comparator<Integer> comparator = new ComparableComparator<Integer>();
private Cluster<Integer> clusterLowerThanZero;
@@ -18,11 +18,11 @@ import com.sap.sse.datamining.test.functions.test_classes.SimpleClassWithMarkedM
import com.sap.sse.datamining.test.functions.test_classes.Test_ExternalLibraryClass;
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestFunctionDTOConstruction {
private static final ServerStringMessages stringMessages = TestsUtil.getTestStringMessages();
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessages();
private Method dimensionMethod;
private Method sideEffectFreeValueMethod;
@@ -34,11 +34,11 @@ import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.datamining.test.util.components.TestLegOfCompetitorWithContextRetrievalProcessor;
import com.sap.sse.datamining.test.util.components.TestRaceWithContextRetrievalProcessor;
import com.sap.sse.datamining.test.util.components.TestRegattaRetrievalProcessor;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestFunctionProvider {
private static final ServerStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private static final ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessagesWithProductiveMessages();
private ExpectedFunctionRegistryUtil functionRegistryUtil;
private FunctionRegistry functionRegistry;
@@ -14,7 +14,7 @@ import com.sap.sse.datamining.test.functions.test_classes.SimpleClassWithMarkedM
import com.sap.sse.datamining.test.functions.test_classes.Test_ExternalLibraryClass;
import com.sap.sse.datamining.test.util.FunctionTestsUtil;
import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class TestMethodWrappingFunction {
@@ -49,7 +49,7 @@ public class TestMethodWrappingFunction {
@Test
public void testGetLocalizedName() {
ServerStringMessages stringMessages = TestsUtil.getTestStringMessages();
ResourceBundleStringMessages stringMessages = TestsUtil.getTestStringMessages();
Function<?> dimension = FunctionTestsUtil.getFunctionFactory().createMethodWrappingFunction(dimensionMethod);
String expectedEnglishName = "dimension-english";
@@ -11,15 +11,15 @@ import org.junit.Before;
import org.junit.Test;
import com.sap.sse.datamining.test.util.TestsUtil;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.impl.CompoundServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
import com.sap.sse.i18n.impl.CompoundResourceBundleStringMessages;
public class TestI18N {
private static final String SIMPLE_TEST_MESSAGE_KEY = "SimpleTestMessage";
private static final String TEST_MESSAGE_WITH_PARAMETERS = "TestMessageWithParameters";
private ServerStringMessages testStringMessages;
private ResourceBundleStringMessages testStringMessages;
@Before
public void initializeBundleManager() {
@@ -40,7 +40,7 @@ public class TestI18N {
@Test
public void testDynamicCompoundStringMessages() {
CompoundServerStringMessages compoundStringMessages = new CompoundServerStringMessages();
CompoundResourceBundleStringMessages compoundStringMessages = new CompoundResourceBundleStringMessages();
try {
compoundStringMessages.get(Locale.ENGLISH, SIMPLE_TEST_MESSAGE_KEY);
@@ -60,11 +60,11 @@ public class TestI18N {
@Test
public void testGetLocaleForLocaleInfoName() {
assertThat(ServerStringMessages.Util.getLocaleFor("default"), is(Locale.ENGLISH));
assertThat(ServerStringMessages.Util.getLocaleFor("en"), is(Locale.ENGLISH));
assertThat(ServerStringMessages.Util.getLocaleFor("de"), is(Locale.GERMAN));
assertThat(ResourceBundleStringMessages.Util.getLocaleFor("default"), is(Locale.ENGLISH));
assertThat(ResourceBundleStringMessages.Util.getLocaleFor("en"), is(Locale.ENGLISH));
assertThat(ResourceBundleStringMessages.Util.getLocaleFor("de"), is(Locale.GERMAN));
assertThat(ServerStringMessages.Util.getLocaleFor("Unsupported locale info name"), is(Locale.ENGLISH));
assertThat(ResourceBundleStringMessages.Util.getLocaleFor("Unsupported locale info name"), is(Locale.ENGLISH));
}
@Test(expected=MissingResourceException.class)
@@ -1,30 +1,30 @@
package com.sap.sse.datamining.test.util;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.impl.CompoundServerStringMessages;
import com.sap.sse.i18n.impl.ServerStringMessagesImpl;
import com.sap.sse.i18n.ResourceBundleStringMessages;
import com.sap.sse.i18n.impl.CompoundResourceBundleStringMessages;
import com.sap.sse.i18n.impl.ResourceBundleStringMessagesImpl;
public class TestsUtil {
private static final String TEST_STRING_MESSAGES_BASE_NAME = "stringmessages/Test_StringMessages";
private static ServerStringMessages TEST_STRING_MESSAGES;
private static ResourceBundleStringMessages TEST_STRING_MESSAGES;
private static final String PRODUCTIVE_STRING_MESSAGES_BASE_NAME = "stringmessages/StringMessages";
private static CompoundServerStringMessages EXTENDED_STRING_MESSAGES;
private static CompoundResourceBundleStringMessages EXTENDED_STRING_MESSAGES;
public static ServerStringMessages getTestStringMessages() {
public static ResourceBundleStringMessages getTestStringMessages() {
if (TEST_STRING_MESSAGES == null) {
TEST_STRING_MESSAGES = new ServerStringMessagesImpl(TEST_STRING_MESSAGES_BASE_NAME, TestsUtil.class.getClassLoader());
TEST_STRING_MESSAGES = new ResourceBundleStringMessagesImpl(TEST_STRING_MESSAGES_BASE_NAME, TestsUtil.class.getClassLoader());
}
return TEST_STRING_MESSAGES;
}
public static ServerStringMessages getTestStringMessagesWithProductiveMessages() {
public static ResourceBundleStringMessages getTestStringMessagesWithProductiveMessages() {
if (EXTENDED_STRING_MESSAGES == null) {
EXTENDED_STRING_MESSAGES = new CompoundServerStringMessages();
EXTENDED_STRING_MESSAGES = new CompoundResourceBundleStringMessages();
EXTENDED_STRING_MESSAGES.addStringMessages(getTestStringMessages());
EXTENDED_STRING_MESSAGES.addStringMessages(new ServerStringMessagesImpl(PRODUCTIVE_STRING_MESSAGES_BASE_NAME, TestsUtil.class.getClassLoader()));
EXTENDED_STRING_MESSAGES.addStringMessages(new ResourceBundleStringMessagesImpl(PRODUCTIVE_STRING_MESSAGES_BASE_NAME, TestsUtil.class.getClassLoader()));
}
return EXTENDED_STRING_MESSAGES;
@@ -4,7 +4,7 @@ import java.util.Locale;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.shared.AdditionalResultData;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
/**
* These builders are used to collect the additional result data from different sources (e.g. the Processors)
@@ -12,7 +12,7 @@ import com.sap.sse.i18n.ServerStringMessages;
*/
public interface AdditionalResultDataBuilder {
public AdditionalResultData build(long calculationTimeInNanos, ServerStringMessages stringMessages, Locale locale);
public AdditionalResultData build(long calculationTimeInNanos, ResourceBundleStringMessages stringMessages, Locale locale);
public void setRetrievedDataAmount(int retrievedDataAmount);
@@ -1,10 +1,10 @@
package com.sap.sse.datamining;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface DataMiningBundleService {
public ServerStringMessages getStringMessages();
public ResourceBundleStringMessages getStringMessages();
public Iterable<Class<?>> getInternalClassesWithMarkedMethods();
public Iterable<Class<?>> getExternalLibraryClasses();
@@ -10,14 +10,14 @@ import com.sap.sse.datamining.functions.FunctionProvider;
import com.sap.sse.datamining.impl.DataRetrieverChainDefinitionProvider;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface DataMiningServer {
public ExecutorService getExecutorService();
public ServerStringMessages getStringMessages();
public ResourceBundleStringMessages getStringMessages();
public FunctionProvider getFunctionProvider();
@@ -7,7 +7,7 @@ import java.util.concurrent.ExecutorService;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.DataRetrieverTypeWithInformation;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface DataRetrieverChainDefinition<DataSourceType, DataType> {
@@ -17,7 +17,7 @@ public interface DataRetrieverChainDefinition<DataSourceType, DataType> {
public Class<DataType> getRetrievedDataType();
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages);
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages);
public <ResultType> void startWith(Class<Processor<DataSourceType, ResultType>> retrieverType, Class<ResultType> retrievedDataType, String retrievedDataTypeMessageKey);
@@ -1,12 +1,12 @@
package com.sap.sse.datamining;
import com.sap.sse.datamining.functions.FunctionRegistry;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface ModifiableDataMiningServer extends DataMiningServer {
public void addStringMessages(ServerStringMessages stringMessages);
public void removeStringMessages(ServerStringMessages stringMessages);
public void addStringMessages(ResourceBundleStringMessages stringMessages);
public void removeStringMessages(ResourceBundleStringMessages stringMessages);
public FunctionRegistry getFunctionRegistry();
@@ -2,11 +2,11 @@ package com.sap.sse.datamining.data;
import java.util.Locale;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface Cluster<ElementType> {
public String getAsLocalizedString(Locale locale, ServerStringMessages stringMessages);
public String getAsLocalizedString(Locale locale, ResourceBundleStringMessages stringMessages);
public boolean isInRange(ElementType value);
@@ -2,12 +2,12 @@ package com.sap.sse.datamining.data;
import java.util.Locale;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface ClusterGroup<ElementType> {
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages);
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages);
public Cluster<ElementType> getClusterFor(ElementType value);
@@ -9,7 +9,7 @@ import com.sap.sse.datamining.shared.annotations.Connector;
import com.sap.sse.datamining.shared.annotations.Dimension;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.dto.FunctionDTOImpl;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class FunctionDTOFactory {
@@ -26,7 +26,7 @@ public class FunctionDTOFactory {
* annotation.<br>
* If the function has no message key, the function name is used as display name.
*/
public FunctionDTO createFunctionDTO(Function<?> function, ServerStringMessages stringMessages, Locale locale) {
public FunctionDTO createFunctionDTO(Function<?> function, ResourceBundleStringMessages stringMessages, Locale locale) {
return createFunctionDTO(function, function.getLocalizedName(locale, stringMessages));
}
@@ -21,7 +21,7 @@ import com.sap.sse.datamining.impl.components.aggregators.ParallelGroupedDoubleD
import com.sap.sse.datamining.impl.components.aggregators.ParallelGroupedDoubleDataSumAggregationProcessor;
import com.sap.sse.datamining.shared.GroupKey;
import com.sap.sse.datamining.shared.components.AggregatorType;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class ProcessorFactory {
@@ -106,7 +106,7 @@ public class ProcessorFactory {
@SuppressWarnings("unchecked")
public <DataType> Collection<Processor<DataType, GroupedDataEntry<DataType>>> createGroupingExtractorsForDimensions(Class<DataType> dataType,
Processor<GroupedDataEntry<Object>, ?> valueCollector, Iterable<Function<?>> dimensions,
ServerStringMessages stringMessages, Locale locale) {
ResourceBundleStringMessages stringMessages, Locale locale) {
Collection<Processor<GroupedDataEntry<Object>, ?>> extractionResultReceivers = new ArrayList<>();
extractionResultReceivers.add(valueCollector);
@@ -22,12 +22,12 @@ import com.sap.sse.datamining.impl.criterias.AndCompoundFilterCriterion;
import com.sap.sse.datamining.impl.criterias.CompoundFilterCriterion;
import com.sap.sse.datamining.impl.criterias.NullaryFunctionValuesFilterCriterion;
import com.sap.sse.datamining.shared.GroupKey;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class QueryFactory {
public <DataSourceType, DataType, ResultType> Query<ResultType> createQuery(DataSourceType dataSource, QueryDefinition<DataSourceType, DataType, ResultType> queryDefinition,
ServerStringMessages stringMessages, ExecutorService executor) {
ResourceBundleStringMessages stringMessages, ExecutorService executor) {
return new ProcessorQuery<ResultType, DataSourceType>(dataSource, stringMessages, queryDefinition.getLocale()) {
@Override
protected Processor<DataSourceType, ?> createFirstProcessor() {
@@ -80,7 +80,7 @@ public class QueryFactory {
public <DataSource> Query<Set<Object>> createDimensionValuesQuery(DataSource dataSource,
DataRetrieverChainDefinition<DataSource, ?> dataRetrieverChainDefinition, int retrieverLevel,
Iterable<Function<?>> dimensions, Locale locale,
ServerStringMessages stringMessages, ExecutorService executor) {
ResourceBundleStringMessages stringMessages, ExecutorService executor) {
return new ProcessorQuery<Set<Object>, DataSource>(dataSource, stringMessages, locale) {
@Override
protected Processor<DataSource, ?> createFirstProcessor() {
@@ -4,7 +4,7 @@ import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public interface Function<ReturnType> {
@@ -17,12 +17,12 @@ public interface Function<ReturnType> {
public String getSimpleName();
/**
* @return <code>true</code>, if the method {@link #getLocalizedName(Locale, ServerStringMessages) getLocalizedName} would return something
* @return <code>true</code>, if the method {@link #getLocalizedName(Locale, ResourceBundleStringMessages) getLocalizedName} would return something
* other than the method {@link #getSimpleName()}.
*/
public boolean isLocatable();
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages);
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages);
/**
* Tries to invoke the function for the given <code>instance</code> without parameters.
@@ -22,7 +22,7 @@ import com.sap.sse.datamining.functions.FunctionProvider;
import com.sap.sse.datamining.functions.FunctionRegistry;
import com.sap.sse.datamining.impl.functions.RegistryFunctionProvider;
import com.sap.sse.datamining.impl.functions.SimpleFunctionRegistry;
import com.sap.sse.i18n.impl.ServerStringMessagesImpl;
import com.sap.sse.i18n.impl.ResourceBundleStringMessagesImpl;
public class DataMiningActivator implements BundleActivator {
@@ -44,7 +44,7 @@ public class DataMiningActivator implements BundleActivator {
FunctionProvider functionProvider = new RegistryFunctionProvider(functionRegistry);
DataRetrieverChainDefinitionRegistry dataRetrieverChainDefinitionRegistry = new SimpleDataRetrieverChainDefinitionRegistry();
dataMiningServer = new DataMiningServerImpl(executor, functionRegistry, functionProvider, dataRetrieverChainDefinitionRegistry);
dataMiningServer.addStringMessages(new ServerStringMessagesImpl(STRING_MESSAGES_BASE_NAME, DataMiningActivator.class.getClassLoader()));
dataMiningServer.addStringMessages(new ResourceBundleStringMessagesImpl(STRING_MESSAGES_BASE_NAME, DataMiningActivator.class.getClassLoader()));
serviceRegistrations = new HashSet<>();
}
@@ -19,12 +19,12 @@ import com.sap.sse.datamining.functions.FunctionProvider;
import com.sap.sse.datamining.functions.FunctionRegistry;
import com.sap.sse.datamining.shared.QueryDefinitionDTO;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.impl.CompoundServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
import com.sap.sse.i18n.impl.CompoundResourceBundleStringMessages;
public class DataMiningServerImpl implements ModifiableDataMiningServer {
private final CompoundServerStringMessages stringMessages;
private final CompoundResourceBundleStringMessages stringMessages;
private final ExecutorService executorService;
private final QueryFactory queryFactory;
@@ -35,7 +35,7 @@ public class DataMiningServerImpl implements ModifiableDataMiningServer {
private DataRetrieverChainDefinitionRegistry dataRetrieverChainDefinitionRegistry;
public DataMiningServerImpl(ExecutorService executorService, FunctionRegistry functionRegistry, FunctionProvider functionProvider, DataRetrieverChainDefinitionRegistry dataRetrieverChainDefinitionRegistry) {
this.stringMessages = new CompoundServerStringMessages();
this.stringMessages = new CompoundResourceBundleStringMessages();
this.executorService = executorService;
this.queryFactory = new QueryFactory();
this.functionRegistry = functionRegistry;
@@ -49,17 +49,17 @@ public class DataMiningServerImpl implements ModifiableDataMiningServer {
}
@Override
public ServerStringMessages getStringMessages() {
public ResourceBundleStringMessages getStringMessages() {
return stringMessages;
}
@Override
public void addStringMessages(ServerStringMessages stringMessages) {
public void addStringMessages(ResourceBundleStringMessages stringMessages) {
this.stringMessages.addStringMessages(stringMessages);
}
@Override
public void removeStringMessages(ServerStringMessages stringMessages) {
public void removeStringMessages(ResourceBundleStringMessages stringMessages) {
this.stringMessages.removeStringMessages(stringMessages);
}
@@ -154,7 +154,7 @@ public class DataMiningServerImpl implements ModifiableDataMiningServer {
public <DataSourceType, DataType, ResultType> QueryDefinition<DataSourceType, DataType, ResultType> getQueryDefinitionForDTO(QueryDefinitionDTO queryDefinitionDTO) {
ModifiableQueryDefinition<DataSourceType, DataType, ResultType> queryDefinition = null;
Locale locale = ServerStringMessages.Util.getLocaleFor(queryDefinitionDTO.getLocaleInfoName());
Locale locale = ResourceBundleStringMessages.Util.getLocaleFor(queryDefinitionDTO.getLocaleInfoName());
DataRetrieverChainDefinition<DataSourceType, DataType> retrieverChain = getDataRetrieverChainDefinition(queryDefinitionDTO.getDataRetrieverChainDefinition().getId());
@SuppressWarnings("unchecked")
Function<ResultType> statisticToCalculate = (Function<ResultType>) getFunctionForDTO(queryDefinitionDTO.getStatisticToCalculate());
@@ -20,7 +20,7 @@ import com.sap.sse.datamining.impl.components.OverwritingResultDataBuilder;
import com.sap.sse.datamining.shared.GroupKey;
import com.sap.sse.datamining.shared.QueryResult;
import com.sap.sse.datamining.shared.impl.QueryResultImpl;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public abstract class ProcessorQuery<AggregatedType, DataSourceType> implements Query<AggregatedType> {
@@ -31,7 +31,7 @@ public abstract class ProcessorQuery<AggregatedType, DataSourceType> implements
private final ProcessResultReceiver resultReceiver;
private final ServerStringMessages stringMessages;
private final ResourceBundleStringMessages stringMessages;
private final Locale locale;
private final Object monitorObject = new Object();
@@ -50,7 +50,7 @@ public abstract class ProcessorQuery<AggregatedType, DataSourceType> implements
/**
* Creates a query that returns a result with additional data.
*/
public ProcessorQuery(DataSourceType dataSource, ServerStringMessages stringMessages, Locale locale) {
public ProcessorQuery(DataSourceType dataSource, ResourceBundleStringMessages stringMessages, Locale locale) {
this.dataSource = dataSource;
this.stringMessages = stringMessages;
this.locale = locale;
@@ -10,7 +10,7 @@ import java.util.concurrent.ExecutorService;
import com.sap.sse.datamining.DataRetrieverChainBuilder;
import com.sap.sse.datamining.DataRetrieverChainDefinition;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class SimpleDataRetrieverChainDefinition<DataSourceType, DataType> implements
DataRetrieverChainDefinition<DataSourceType, DataType> {
@@ -46,7 +46,7 @@ public class SimpleDataRetrieverChainDefinition<DataSourceType, DataType> implem
}
@Override
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages) {
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages) {
return stringMessages.get(locale, nameMessageKey);
}
@@ -7,7 +7,7 @@ import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.shared.AdditionalResultData;
import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.datamining.shared.impl.AdditionalResultDataImpl;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
/**
* For general information see {@link AdditionalResultDataBuilder}.<br />
@@ -35,11 +35,11 @@ public class OverwritingResultDataBuilder implements AdditionalResultDataBuilder
}
@Override
public AdditionalResultData build(long calculationTimeInNanos, ServerStringMessages stringMessages, Locale locale) {
public AdditionalResultData build(long calculationTimeInNanos, ResourceBundleStringMessages stringMessages, Locale locale) {
return new AdditionalResultDataImpl(retrievedDataAmount, buildResultSignifier(stringMessages, locale), unit, resultDecimals, calculationTimeInNanos);
}
private String buildResultSignifier(ServerStringMessages stringMessages, Locale locale) {
private String buildResultSignifier(ResourceBundleStringMessages stringMessages, Locale locale) {
if (extractionFunction == null || aggregationNameMessageKey == null) {
return "";
}
@@ -11,7 +11,7 @@ import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.shared.GroupKey;
import com.sap.sse.datamining.shared.dto.FunctionDTO;
import com.sap.sse.datamining.shared.impl.GenericGroupKey;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
/**
* Takes a dimension and groups the given elements by the dimensions {@link FunctionDTO}.
@@ -21,7 +21,7 @@ import com.sap.sse.i18n.ServerStringMessages;
public class ParallelByDimensionGroupingProcessor<DataType> extends
AbstractParallelMultiDimensionalNestingGroupingProcessor<DataType> {
private final ServerStringMessages stringMessages;
private final ResourceBundleStringMessages stringMessages;
private final Locale locale;
private final FunctionDTOFactory functionDTOFactory;
@@ -30,7 +30,7 @@ public class ParallelByDimensionGroupingProcessor<DataType> extends
ExecutorService executor,
Collection<Processor<GroupedDataEntry<DataType>, ?>> resultReceivers,
Function<?> dimension,
ServerStringMessages stringMessages, Locale locale) {
ResourceBundleStringMessages stringMessages, Locale locale) {
super(dataType, executor, resultReceivers, asIterable(dimension));
this.stringMessages = stringMessages;
this.locale = locale;
@@ -6,7 +6,7 @@ import java.util.Locale;
import com.sap.sse.datamining.data.Cluster;
import com.sap.sse.datamining.data.ClusterBoundary;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public abstract class AbstractCluster<ElementType> implements Cluster<ElementType> {
@@ -34,7 +34,7 @@ public abstract class AbstractCluster<ElementType> implements Cluster<ElementTyp
}
@Override
public String getAsLocalizedString(Locale locale, ServerStringMessages stringMessages) {
public String getAsLocalizedString(Locale locale, ResourceBundleStringMessages stringMessages) {
return stringMessages.get(locale, messageKey) + " " + getBoundariesAsString();
}
@@ -6,7 +6,7 @@ import java.util.Locale;
import com.sap.sse.datamining.data.Cluster;
import com.sap.sse.datamining.data.ClusterGroup;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class FixClusterGroup<ElementType> implements ClusterGroup<ElementType> {
@@ -34,7 +34,7 @@ public class FixClusterGroup<ElementType> implements ClusterGroup<ElementType> {
}
@Override
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages) {
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages) {
return stringMessages.get(locale, messageKey);
}
@@ -7,7 +7,7 @@ import java.util.Locale;
import com.sap.sse.datamining.functions.Function;
import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class ConcatenatingCompoundFunction<ReturnType> extends AbstractFunction<ReturnType> {
@@ -86,7 +86,7 @@ public class ConcatenatingCompoundFunction<ReturnType> extends AbstractFunction<
}
@Override
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages) {
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages) {
if (name != null && !name.isEmpty()) {
return name;
}
@@ -107,7 +107,7 @@ public class ConcatenatingCompoundFunction<ReturnType> extends AbstractFunction<
return false;
}
private String buildLocalizedNameChain(Locale locale, ServerStringMessages stringMessages) {
private String buildLocalizedNameChain(Locale locale, ResourceBundleStringMessages stringMessages) {
StringBuilder builder = new StringBuilder();
boolean first = true;
for (Function<?> function : functions) {
@@ -10,7 +10,7 @@ import com.sap.sse.datamining.shared.Unit;
import com.sap.sse.datamining.shared.annotations.Connector;
import com.sap.sse.datamining.shared.annotations.Dimension;
import com.sap.sse.datamining.shared.annotations.Statistic;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class MethodWrappingFunction<ReturnType> extends AbstractFunction<ReturnType> {
@@ -115,7 +115,7 @@ public class MethodWrappingFunction<ReturnType> extends AbstractFunction<ReturnT
}
@Override
public String getLocalizedName(Locale locale, ServerStringMessages stringMessages) {
public String getLocalizedName(Locale locale, ResourceBundleStringMessages stringMessages) {
if (!isLocatable()) {
return getSimpleName();
}
@@ -4,7 +4,10 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public interface ServerStringMessages {
/**
* Allow server-side internationalization similar to GWT client-side by using property files.
*/
public interface ResourceBundleStringMessages {
public String getResourceBaseName();
@@ -10,27 +10,30 @@ import java.util.MissingResourceException;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class CompoundServerStringMessages implements ServerStringMessages {
/**
* Combine several {@link ResourceBundleStringMessages}.
*/
public class CompoundResourceBundleStringMessages implements ResourceBundleStringMessages {
private static final Logger LOGGER = Logger.getLogger(CompoundServerStringMessages.class.getSimpleName());
private static final Logger LOGGER = Logger.getLogger(CompoundResourceBundleStringMessages.class.getSimpleName());
private final Collection<ServerStringMessages> stringMessages;
private final Collection<ResourceBundleStringMessages> stringMessages;
public CompoundServerStringMessages() {
public CompoundResourceBundleStringMessages() {
stringMessages = new HashSet<>();
}
public CompoundServerStringMessages(Collection<ServerStringMessages> stringMessages) {
public CompoundResourceBundleStringMessages(Collection<ResourceBundleStringMessages> stringMessages) {
this.stringMessages = new HashSet<>(stringMessages);
}
public void addStringMessages(ServerStringMessages stringMessages) {
public void addStringMessages(ResourceBundleStringMessages stringMessages) {
this.stringMessages.add(stringMessages);
}
public void removeStringMessages(ServerStringMessages stringMessages) {
public void removeStringMessages(ResourceBundleStringMessages stringMessages) {
this.stringMessages.remove(stringMessages);
}
@@ -41,8 +44,8 @@ public class CompoundServerStringMessages implements ServerStringMessages {
@Override
public String get(Locale locale, String messageKey, String... parameters) {
Map<ServerStringMessages, String> messages = new HashMap<>();
for (ServerStringMessages stringMessages : this.stringMessages) {
Map<ResourceBundleStringMessages, String> messages = new HashMap<>();
for (ResourceBundleStringMessages stringMessages : this.stringMessages) {
try {
messages.put(stringMessages, stringMessages.get(locale, messageKey, parameters));
} catch (MissingResourceException e) {
@@ -51,10 +54,10 @@ public class CompoundServerStringMessages implements ServerStringMessages {
return getBestMessageAndLogConflicts(messageKey, messages);
}
private String getBestMessageAndLogConflicts(String messageKey, Map<ServerStringMessages, String> messages) throws MissingResourceException {
private String getBestMessageAndLogConflicts(String messageKey, Map<ResourceBundleStringMessages, String> messages) throws MissingResourceException {
String bestMessageResourceBaseName = null;
String bestMessage = null;
for (Entry<ServerStringMessages, String> messagesEntry : messages.entrySet()) {
for (Entry<ResourceBundleStringMessages, String> messagesEntry : messages.entrySet()) {
String message = messagesEntry.getValue();
if (message != null) {
if (bestMessage == null) {
@@ -74,7 +77,7 @@ public class CompoundServerStringMessages implements ServerStringMessages {
}
private void logPossibleConflicts(String messageKey, String bestMessageResourceBaseName, String bestMessage,
Entry<ServerStringMessages, String> messagesEntry) {
Entry<ResourceBundleStringMessages, String> messagesEntry) {
String messageResourceBaseName = messagesEntry.getKey().getResourceBaseName();
String message = messagesEntry.getValue();
@@ -3,9 +3,9 @@ package com.sap.sse.i18n.impl;
import java.util.Locale;
import java.util.ResourceBundle;
import com.sap.sse.i18n.ServerStringMessages;
import com.sap.sse.i18n.ResourceBundleStringMessages;
public class ServerStringMessagesImpl implements ServerStringMessages {
public class ResourceBundleStringMessagesImpl implements ResourceBundleStringMessages {
private static final String MESSAGE_PARAMETER_START = "\\{";
private static final String MESSAGE_PARAMETER_END = "\\}";
@@ -13,7 +13,7 @@ public class ServerStringMessagesImpl implements ServerStringMessages {
private final String resourceBaseName;
private final ClassLoader resourceClassLoader;
public ServerStringMessagesImpl(String resourceBaseName, ClassLoader resourceClassLoader) {
public ResourceBundleStringMessagesImpl(String resourceBaseName, ClassLoader resourceClassLoader) {
this.resourceBaseName = resourceBaseName;
this.resourceClassLoader = resourceClassLoader;
}