You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/11/29 22:11:45 UTC
[isis] branch 2039-Redesign_of_Config updated: ISIS-2039: removing
the ConfigurationService interface
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2039-Redesign_of_Config
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/2039-Redesign_of_Config by this push:
new 2d1a9fb ISIS-2039: removing the ConfigurationService interface
2d1a9fb is described below
commit 2d1a9fb30c3080b119644b534f466aa2680ff47a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 29 23:11:39 2018 +0100
ISIS-2039: removing the ConfigurationService interface
use the singleton IsisConfiguration instead
for the UI, the ConfigurationServiceMenu was renamed to
ConfigurationMenu which uses a ConfigurationViewService for the single
purpose of displaying config values
Task-Url: https://issues.apache.org/jira/browse/ISIS-2039
---
.../config/services/view/ConfigurationMenu.java} | 10 ++++----
.../services/view}/ConfigurationProperty.java | 2 +-
.../view}/ConfigurationProperty.layout.xml | 0
.../services/view}/ConfigurationProperty.png | Bin
.../services/view/ConfigurationViewService.java} | 24 ++----------------
.../view/ConfigurationViewServiceDefault.java} | 28 ++++-----------------
.../isis/config/services/view}/package-info.java | 4 +--
.../apache/isis/applib/DomainObjectContainer.java | 23 +++++++++--------
.../system/session/IsisSessionFactoryBuilder.java | 6 ++---
9 files changed, 30 insertions(+), 67 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationMenu.java
similarity index 88%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationMenu.java
index ff15fa0..b2c8a43 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java
+++ b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationMenu.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.isis.applib.services.config;
+package org.apache.isis.config.services.view;
import java.util.Set;
@@ -32,16 +32,16 @@ import org.apache.isis.applib.annotation.SemanticsOf;
@DomainService(
nature = NatureOfService.VIEW_MENU_ONLY,
- objectType = "isisApplib.ConfigurationServiceMenu"
+ objectType = "isisApplib.ConfigurationMenu"
)
@DomainServiceLayout(
menuBar = DomainServiceLayout.MenuBar.TERTIARY,
menuOrder = "500.900"
)
-public class ConfigurationServiceMenu {
+public class ConfigurationMenu {
public static abstract class ActionDomainEvent
- extends IsisApplibModule.ActionDomainEvent<ConfigurationServiceMenu> {
+ extends IsisApplibModule.ActionDomainEvent<ConfigurationMenu> {
private static final long serialVersionUID = 1L;
}
@@ -63,6 +63,6 @@ public class ConfigurationServiceMenu {
}
@javax.inject.Inject
- private ConfigurationService configurationService;
+ private ConfigurationViewService configurationService;
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.java
similarity index 98%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.java
index 74763d1..7467998 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
+++ b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.isis.applib.services.config;
+package org.apache.isis.config.services.view;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.layout.xml b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.layout.xml
similarity index 100%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.layout.xml
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.layout.xml
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.png b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.png
similarity index 100%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.png
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationProperty.png
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationService.java b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewService.java
similarity index 65%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationService.java
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewService.java
index 5a46f43..fff473e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationService.java
+++ b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewService.java
@@ -17,33 +17,13 @@
* under the License.
*/
-package org.apache.isis.applib.services.config;
+package org.apache.isis.config.services.view;
-import java.util.List;
import java.util.Set;
import org.apache.isis.applib.annotation.Programmatic;
-public interface ConfigurationService {
-
- /**
- * Get the configuration property with the specified name.
- */
- @Programmatic
- String getProperty(String name);
-
- /**
- * Get the configuration property with the specified name and if it doesn't
- * exist then return the specified default value.
- */
- @Programmatic
- String getProperty(String name, String defaultValue);
-
- /**
- * Get the names of all the available properties.
- */
- @Programmatic
- List<String> getPropertyNames();
+public interface ConfigurationViewService {
/**
* Returns all properties, each as an instance of {@link ConfigurationProperty} (a view model).
diff --git a/core/config/src/main/java/org/apache/isis/config/service/ConfigurationServiceDefault.java b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewServiceDefault.java
similarity index 75%
rename from core/config/src/main/java/org/apache/isis/config/service/ConfigurationServiceDefault.java
rename to core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewServiceDefault.java
index 74571e5..fb3f6db 100644
--- a/core/config/src/main/java/org/apache/isis/config/service/ConfigurationServiceDefault.java
+++ b/core/config/src/main/java/org/apache/isis/config/services/view/ConfigurationViewServiceDefault.java
@@ -16,49 +16,31 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.config.service;
+package org.apache.isis.config.services.view;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.services.config.ConfigurationProperty;
-import org.apache.isis.applib.services.config.ConfigurationService;
import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.config.ConfigurationConstants;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.internal._Config;
-import static org.apache.isis.commons.internal.base._With.mapIfPresentElse;
-
+/**
+ * @since 2.0.0-M2
+ */
@DomainService(
nature = NatureOfService.DOMAIN,
menuOrder = "" + Integer.MAX_VALUE
)
-public class ConfigurationServiceDefault implements ConfigurationService {
+public class ConfigurationViewServiceDefault implements ConfigurationViewService {
@Override
- public String getProperty(String name) {
- return getProperty(name, null);
- }
-
- @Override
- public String getProperty(String name, String defaultValue) {
- return mapIfPresentElse(config.get().get(name), ConfigurationProperty::getValue, defaultValue);
- }
-
- @Override
- public List<String> getPropertyNames() {
- return new ArrayList<>(config.get().keySet());
- }
-
- @Override
public Set<ConfigurationProperty> allProperties() {
return new TreeSet<>(config.get().values());
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/package-info.java b/core/config/src/main/java/org/apache/isis/config/services/view/package-info.java
similarity index 87%
rename from core/applib/src/main/java/org/apache/isis/applib/services/config/package-info.java
rename to core/config/src/main/java/org/apache/isis/config/services/view/package-info.java
index 99814d4..f2bb8dc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/package-info.java
+++ b/core/config/src/main/java/org/apache/isis/config/services/view/package-info.java
@@ -18,9 +18,9 @@
*/
/**
- * The {@link org.apache.isis.applib.services.config.ConfigurationService} allows domain objects to read the
+ * The {@link org.apache.isis.config.services.view.ConfigurationViewService} allows domain objects to read the
* configuration properties aggregated from the various configuration files.
*
* @see <a href="http://isis.apache.org/guides/rgsvc/rgsvc.html#_rgsvc_core-domain-api_ConfigurationService">Reference guide</a>
*/
-package org.apache.isis.applib.services.config;
\ No newline at end of file
+package org.apache.isis.config.services.view;
\ No newline at end of file
diff --git a/core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
index 392e469..7974b76 100644
--- a/core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
+++ b/core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
@@ -18,21 +18,21 @@
*/
package org.apache.isis.applib;
-import static org.apache.isis.commons.internal.collections._Lists.lastElementIfAny;
-
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject;
+import com.google.common.base.Predicate;
+
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.security.UserMemento;
-import org.apache.isis.applib.services.config.ConfigurationService;
import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
@@ -43,8 +43,10 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.applib.services.xactn.TransactionService;
+import org.apache.isis.config.IsisConfiguration;
+import org.apache.isis.config.internal._Config;
-import com.google.common.base.Predicate;
+import static org.apache.isis.commons.internal.collections._Lists.lastElementIfAny;
@DomainService(nature=NatureOfService.DOMAIN)
@Deprecated
@@ -58,7 +60,6 @@ public class DomainObjectContainer {
@Inject private TransactionService transactionService;
@Inject private ServiceRegistry serviceRegistry;
@Inject private MessageService messageService;
- @Inject private ConfigurationService configurationService;
@Inject private UserService userService;
/**
@@ -414,30 +415,30 @@ public class DomainObjectContainer {
/**
- * @deprecated - use {@link org.apache.isis.applib.services.config.ConfigurationService#getProperty(String)} instead.
+ * @deprecated - use {@link IsisConfiguration#getProperty(String)} instead.
*/
@Deprecated
@Programmatic
public String getProperty(String name) {
- return configurationService.getProperty(name);
+ return _Config.getConfiguration().getString(name);
}
/**
- * @deprecated - use {@link org.apache.isis.applib.services.config.ConfigurationService#getProperty(String, String)} instead.
+ * @deprecated - use {@link IsisConfiguration#getProperty(String, String)} instead.
*/
@Deprecated
@Programmatic
public String getProperty(String name, String defaultValue) {
- return configurationService.getProperty(name, defaultValue);
+ return _Config.getConfiguration().getString(name, defaultValue);
}
/**
- * @deprecated - use {@link org.apache.isis.applib.services.config.ConfigurationService#getPropertyNames()} instead.
+ * @deprecated - use {@link IsisConfiguration#asMap()} instead.
*/
@Deprecated
@Programmatic
public List<String> getPropertyNames() {
- return configurationService.getPropertyNames();
+ return new ArrayList<>(_Config.getConfiguration().asMap().keySet());
}
/**
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
index 69c8851..4ea1097 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
@@ -33,12 +33,12 @@ import org.apache.isis.applib.AppManifest;
import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.fixtures.FixtureClock;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
-import org.apache.isis.applib.services.config.ConfigurationService;
import org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.internal._Config;
-import org.apache.isis.config.service.ConfigurationServiceDefault;
+import org.apache.isis.config.services.view.ConfigurationViewService;
+import org.apache.isis.config.services.view.ConfigurationViewServiceDefault;
import org.apache.isis.core.commons.lang.ListExtensions;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
import org.apache.isis.core.metamodel.services.ServicesInjector;
@@ -122,7 +122,7 @@ public class IsisSessionFactoryBuilder {
final ServicesInjector servicesInjector = componentProvider.provideServiceInjector();
// ConfigurationService
- servicesInjector.addFallbackIfRequired(ConfigurationService.class, new ConfigurationServiceDefault());
+ servicesInjector.addFallbackIfRequired(ConfigurationViewService.class, new ConfigurationViewServiceDefault());
// fixtureScripts
servicesInjector.addFallbackIfRequired(FixtureScripts.class, new FixtureScriptsDefault());