You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/09/29 13:32:34 UTC
[isis] 02/02: ISIS-2086: refactors
'isis.services.publish.properties' to type-safe config
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 054f92681fee30455207f7e3395c04edfe16620c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Sep 29 14:32:16 2019 +0100
ISIS-2086: refactors 'isis.services.publish.properties' to type-safe config
---
.../main/java/org/apache/isis/config/IsisConfiguration.java | 4 +++-
.../property/publishing/PublishPropertiesConfiguration.java | 13 +------------
.../properties/property/PropertyAnnotationFacetFactory.java | 2 +-
.../PublishedPropertyFacetForPropertyAnnotation.java | 5 +++--
4 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index 873fed7..01637b0 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -38,6 +38,7 @@ import org.apache.isis.metamodel.facets.object.domainobject.auditing.DefaultView
import org.apache.isis.metamodel.facets.object.domainobject.editing.EditingObjectsConfiguration;
import org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishObjectsConfiguration;
import org.apache.isis.metamodel.facets.properties.property.command.CommandPropertiesConfiguration;
+import org.apache.isis.metamodel.facets.properties.property.publishing.PublishPropertiesConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
import org.springframework.core.convert.converter.Converter;
@@ -286,8 +287,9 @@ public class IsisConfiguration {
private final Publish publish = new Publish();
@Data
public static class Publish {
- private PublishActionsConfiguration actions = PublishActionsConfiguration.NONE;
+ private PublishActionsConfiguration actions = PublishActionsConfiguration.NONE;
private PublishObjectsConfiguration objects = PublishObjectsConfiguration.NONE;
+ private PublishPropertiesConfiguration properties = PublishPropertiesConfiguration.NONE;
}
private final Translation translation = new Translation();
@Data
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
similarity index 68%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
rename to core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
index da79411..e515b67 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
@@ -18,22 +18,11 @@
*/
package org.apache.isis.metamodel.facets.properties.property.publishing;
+import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.IsisConfigurationLegacy;
import org.apache.isis.metamodel.facets.object.domainobject.Util;
public enum PublishPropertiesConfiguration {
ALL,
NONE;
-
- private static final String PUBLISH_PROPERTIES_KEY = "isis.services.publish.properties";
-
- public static PublishPropertiesConfiguration parse(IsisConfigurationLegacy configuration) {
- final String configuredValue = configuration.getString(PUBLISH_PROPERTIES_KEY);
- return PublishPropertiesConfiguration.parse(configuredValue);
- }
-
- private static PublishPropertiesConfiguration parse(final String value) {
- return Util.parseYes(value)? ALL: NONE;
- }
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index 1b09891..746a60b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -281,7 +281,7 @@ implements MetaModelValidatorRefiner {
// check for @Property(publishing=...)
final PublishedPropertyFacet facet = PublishedPropertyFacetForPropertyAnnotation
- .create(properties, getConfigurationLegacy(), holder);
+ .create(properties, getConfigurationLegacy(), getConfiguration(), holder);
FacetUtil.addFacet(facet);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java
index 17872ac..7e3a696 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.IsisConfigurationLegacy;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.properties.publish.PublishedPropertyFacet;
@@ -32,10 +33,10 @@ public class PublishedPropertyFacetForPropertyAnnotation extends PublishedProper
public static PublishedPropertyFacet create(
final List<Property> properties,
- final IsisConfigurationLegacy configuration,
+ final IsisConfiguration configuration,
final FacetHolder holder) {
- final PublishPropertiesConfiguration setting = PublishPropertiesConfiguration.parse(configuration);
+ final PublishPropertiesConfiguration setting = configuration.getServices().getPublish().getProperties();
return properties.stream()
.map(Property::publishing)