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 2014/09/25 11:52:24 UTC
[5/7] ISIS-887: mothballed the core/module* modules,
moved to mothballed/core/module*
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
----------------------------------------------------------------------
diff --git a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java b/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
deleted file mode 100644
index 6611fb9..0000000
--- a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.objectstore.jdo.applib.service.publish;
-
-import java.util.Map;
-import javax.annotation.PostConstruct;
-import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.applib.services.publish.EventMetadata;
-import org.apache.isis.applib.services.publish.EventPayload;
-import org.apache.isis.applib.services.publish.EventSerializer;
-import org.apache.isis.applib.services.publish.PublishingService;
-
-/**
- * An implementation of {@link PublishingService} that persists events as
- * entities into a JDO-backed database.
- */
-@DomainService
-public class PublishingServiceJdo extends AbstractService implements PublishingService {
-
- private static final String SERIALIZED_FORM_LOCAL_KEY = "datanucleus.PublishingService.serializedForm";
- private final static String SERIALIZED_FORM_KEY = "isis.persistor." + SERIALIZED_FORM_LOCAL_KEY;
-
- static enum SerializedForm {
- CLOB,
- @Deprecated
- ZIPPED;
- static SerializedForm parse(final String value) {
- return CLOB.toString().equalsIgnoreCase(value)? CLOB: ZIPPED;
- }
- }
-
- private SerializedForm serializedForm;
-
- @Programmatic
- @PostConstruct
- public void init(Map<String,String> configuration) {
- ensureDependenciesInjected();
- serializedForm = SerializedForm.parse(configuration.get(SERIALIZED_FORM_KEY));
- }
-
-
- // //////////////////////////////////////
-
- private void ensureDependenciesInjected() {
- if(this.commandContext == null) {
- throw new IllegalStateException(this.getClassName() + " requires CommandContext service to be configured");
- }
- if(this.eventSerializer == null) {
- throw new IllegalStateException(this.getClassName() + " requires EventSerializer service to be configured");
- }
- }
-
-
- @Override
- @Programmatic
- public void publish(final EventMetadata metadata, final EventPayload payload) {
- final String serializedEvent = eventSerializer.serialize(metadata, payload).toString();
- final PublishedEventJdo publishedEvent = newTransientInstance(PublishedEventJdo.class);
-
- if(this.serializedForm == SerializedForm.ZIPPED) {
- final byte[] zippedBytes = asZippedBytes(serializedEvent);
- publishedEvent.setSerializedFormZipped(zippedBytes);
- } else {
- publishedEvent.setSerializedFormClob(serializedEvent);
- }
-
- publishedEvent.setTransactionId(metadata.getTransactionId());
- publishedEvent.setSequence(metadata.getSequence());
- publishedEvent.setEventType(metadata.getEventType());
- publishedEvent.setTimestamp(metadata.getJavaSqlTimestamp());
- publishedEvent.setUser(metadata.getUser());
- publishedEvent.setTitle(metadata.getTitle());
-
- publishedEvent.setTargetClass(metadata.getTargetClass());
- publishedEvent.setTarget(metadata.getTarget());
- publishedEvent.setTargetAction(metadata.getTargetAction());
- publishedEvent.setMemberIdentifier(metadata.getActionIdentifier());
-
- persist(publishedEvent);
- }
-
-
- static byte[] asZippedBytes(final String serializedEvent) {
- return IoUtils.toUtf8ZippedBytes("serializedForm", serializedEvent);
- }
-
-
- // //////////////////////////////////////
-
- private EventSerializer eventSerializer;
-
- @Override
- public void setEventSerializer(EventSerializer eventSerializer) {
- this.eventSerializer = eventSerializer;
- }
-
- static String fromZippedBytes(byte[] zipped) {
- return IoUtils.fromUtf8ZippedBytes("serializedForm", zipped);
- }
-
-
- @javax.inject.Inject
- private CommandContext commandContext;
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoContributions.java
----------------------------------------------------------------------
diff --git a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoContributions.java b/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoContributions.java
deleted file mode 100644
index 1709f64..0000000
--- a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoContributions.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.objectstore.jdo.applib.service.publish;
-
-import java.util.List;
-
-import org.apache.isis.applib.AbstractFactoryAndRepository;
-import org.apache.isis.applib.annotation.ActionSemantics;
-import org.apache.isis.applib.annotation.Render;
-import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.NotContributed;
-import org.apache.isis.applib.annotation.NotContributed.As;
-import org.apache.isis.applib.annotation.Render.Type;
-import org.apache.isis.applib.annotation.NotInServiceMenu;
-import org.apache.isis.applib.services.HasTransactionId;
-
-
-public class PublishingServiceJdoContributions extends AbstractFactoryAndRepository {
-
- @ActionSemantics(Of.SAFE)
- @NotInServiceMenu
- @NotContributed(As.ACTION)
- @Render(Type.EAGERLY)
- public List<PublishedEventJdo> publishedEvents(final HasTransactionId hasTransactionId) {
- return publishedEventRepository.findByTransactionId(hasTransactionId.getTransactionId());
- }
-
- // //////////////////////////////////////
-
- @javax.inject.Inject
- private PublishingServiceJdoRepository publishedEventRepository;
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoRepository.java
----------------------------------------------------------------------
diff --git a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoRepository.java b/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoRepository.java
deleted file mode 100644
index 636369d..0000000
--- a/core/module-publishing-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdoRepository.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.objectstore.jdo.applib.service.publish;
-
-import java.sql.Timestamp;
-import java.util.List;
-import java.util.UUID;
-import org.joda.time.LocalDate;
-import org.apache.isis.applib.AbstractFactoryAndRepository;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.applib.query.QueryDefault;
-import org.apache.isis.applib.services.bookmark.Bookmark;
-
-/**
- * Provides supporting functionality for querying and persisting
- * {@link org.apache.isis.objectstore.jdo.applib.service.publish.PublishedEventJdo published event} entities.
- *
- * <p>
- * This supporting service with no UI and no side-effects, and is there are no other implementations of the service,
- * thus has been annotated with {@link org.apache.isis.applib.annotation.DomainService}. This means that there is no
- * need to explicitly register it as a service (eg in <tt>isis.properties</tt>).
- */
-@DomainService
-public class PublishingServiceJdoRepository extends AbstractFactoryAndRepository {
-
- @Programmatic
- public List<PublishedEventJdo> findQueued() {
- return allMatches(
- new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByStateOrderByTimestamp",
- "state", PublishedEventJdo.State.QUEUED));
- }
-
- @Programmatic
- public List<PublishedEventJdo> findProcessed() {
- return allMatches(
- new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByStateOrderByTimestamp",
- "state", PublishedEventJdo.State.PROCESSED));
- }
-
- @Programmatic
- public List<PublishedEventJdo> findByTransactionId(final UUID transactionId) {
- return allMatches(
- new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTransactionId",
- "transactionId", transactionId));
- }
-
- @Programmatic
- public void purgeProcessed() {
- // REVIEW: this is not particularly performant.
- // much better would be to go direct to the JDO API.
- List<PublishedEventJdo> processedEvents = findProcessed();
- for (PublishedEventJdo publishedEvent : processedEvents) {
- publishedEvent.delete();
- }
- }
-
-
- @Programmatic
- public List<PublishedEventJdo> findByTargetAndFromAndTo(
- final Bookmark target,
- final LocalDate from,
- final LocalDate to) {
- final String targetStr = target.toString();
- final Timestamp fromTs = toTimestampStartOfDayWithOffset(from, 0);
- final Timestamp toTs = toTimestampStartOfDayWithOffset(to, 1);
-
- final Query<PublishedEventJdo> query;
- if(from != null) {
- if(to != null) {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTargetAndTimestampBetween",
- "targetStr", targetStr,
- "from", fromTs,
- "to", toTs);
- } else {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTargetAndTimestampAfter",
- "targetStr", targetStr,
- "from", fromTs);
- }
- } else {
- if(to != null) {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTargetAndTimestampBefore",
- "targetStr", targetStr,
- "to", toTs);
- } else {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTarget",
- "targetStr", targetStr);
- }
- }
- return allMatches(query);
- }
-
- @Programmatic
- public List<PublishedEventJdo> findByFromAndTo(
- final LocalDate from,
- final LocalDate to) {
- final Timestamp fromTs = toTimestampStartOfDayWithOffset(from, 0);
- final Timestamp toTs = toTimestampStartOfDayWithOffset(to, 1);
-
- final Query<PublishedEventJdo> query;
- if(from != null) {
- if(to != null) {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTimestampBetween",
- "from", fromTs,
- "to", toTs);
- } else {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTimestampAfter",
- "from", fromTs);
- }
- } else {
- if(to != null) {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "findByTimestampBefore",
- "to", toTs);
- } else {
- query = new QueryDefault<PublishedEventJdo>(PublishedEventJdo.class,
- "find");
- }
- }
- return allMatches(query);
- }
-
- private static Timestamp toTimestampStartOfDayWithOffset(final LocalDate dt, int daysOffset) {
- return dt!=null
- ?new java.sql.Timestamp(dt.toDateTimeAtStartOfDay().plusDays(daysOffset).getMillis())
- :null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishing-jdo/src/main/resources/images/PublishedEventJdo.png
----------------------------------------------------------------------
diff --git a/core/module-publishing-jdo/src/main/resources/images/PublishedEventJdo.png b/core/module-publishing-jdo/src/main/resources/images/PublishedEventJdo.png
deleted file mode 100644
index cb3a325..0000000
Binary files a/core/module-publishing-jdo/src/main/resources/images/PublishedEventJdo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishing-jdo/src/test/java/org/apache/isis/objectstore/jdo/applib/service/publish/IoUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/module-publishing-jdo/src/test/java/org/apache/isis/objectstore/jdo/applib/service/publish/IoUtilsTest.java b/core/module-publishing-jdo/src/test/java/org/apache/isis/objectstore/jdo/applib/service/publish/IoUtilsTest.java
deleted file mode 100644
index 32cfde0..0000000
--- a/core/module-publishing-jdo/src/test/java/org/apache/isis/objectstore/jdo/applib/service/publish/IoUtilsTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.objectstore.jdo.applib.service.publish;
-
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-
-public class IoUtilsTest {
-
- @Test
- public void roundtrip() {
- final String str = "3784y5hrfbdgkjh3qyri f£$%$YTRGFDGER$£\"Eu098987u'!\"£%^&*IO(LUKJM)";
- final byte[] utf8ZippedBytes = IoUtils.toUtf8ZippedBytes("serializedForm", str);
-
- final String str2 = IoUtils.fromUtf8ZippedBytes("serializedForm", utf8ZippedBytes);
-
- assertThat(str, (is(str2)));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishingeventserializer-ro/pom.xml
----------------------------------------------------------------------
diff --git a/core/module-publishingeventserializer-ro/pom.xml b/core/module-publishingeventserializer-ro/pom.xml
deleted file mode 100644
index b06d9ee..0000000
--- a/core/module-publishingeventserializer-ro/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- </parent>
-
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-publishingeventserializer-ro</artifactId>
-
- <name>Isis Module: Publishing Event Servializer (Restful Objects spec)</name>
- <description>
- Implementation of an event serializer (as required by the publishing
- service) that serialized the object as a JSON representation defined
- by the Restful Objects spec.
- </description>
-
- <properties>
- <siteBaseDir>..</siteBaseDir>
- <relativeUrl>module-publishingeventserializer-ro/</relativeUrl>
- </properties>
-
- <url>http://isis.apache.org/${relativeUrl}</url>
-
- <build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- </resource>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/java</directory>
- <includes>
- <include>**</include>
- </includes>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-applib</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-viewer-restfulobjects-rendering</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-unittestsupport</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
-
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/EventSerializerRendererContext.java
----------------------------------------------------------------------
diff --git a/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/EventSerializerRendererContext.java b/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/EventSerializerRendererContext.java
deleted file mode 100644
index 6d10cc2..0000000
--- a/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/EventSerializerRendererContext.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.viewer.restfulobjects.rendering.eventserializer;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-import com.google.common.collect.Sets;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
-
-class EventSerializerRendererContext implements RendererContext {
-
- private final String baseUrl;
- private final Where where;
-
- public EventSerializerRendererContext(String baseUrl, Where where) {
- this.baseUrl = baseUrl;
- this.where = where;
- }
-
- @Override
- public String urlFor(String url) {
- return baseUrl + url;
- }
-
- @Override
- public AuthenticationSession getAuthenticationSession() {
- return IsisContext.getAuthenticationSession();
- }
-
- @Override
- public PersistenceSession getPersistenceSession() {
- return IsisContext.getPersistenceSession();
- }
-
- @Override
- public IsisConfiguration getConfiguration() {
- return IsisContext.getConfiguration();
- }
-
- @Override
- public AdapterManager getAdapterManager() {
- return getPersistenceSession().getAdapterManager();
- }
-
- @Override
- public List<List<String>> getFollowLinks() {
- return Collections.emptyList();
- }
-
- @Override
- public Where getWhere() {
- return where;
- }
-
- @Override
- public Localization getLocalization() {
- return IsisContext.getLocalization();
- }
-
- private Set<Oid> rendered = Sets.newHashSet();
- @Override
- public boolean canEagerlyRender(ObjectAdapter objectAdapter) {
- final Oid oid = objectAdapter.getOid();
- return rendered.add(oid);
- }
-
-
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
----------------------------------------------------------------------
diff --git a/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java b/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
deleted file mode 100644
index 07c19c5..0000000
--- a/core/module-publishingeventserializer-ro/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.viewer.restfulobjects.rendering.eventserializer;
-
-import java.io.IOException;
-import java.util.Map;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.services.publish.EventMetadata;
-import org.apache.isis.applib.services.publish.EventPayload;
-import org.apache.isis.applib.services.publish.EventSerializer;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
-import org.apache.isis.viewer.restfulobjects.applib.util.JsonMapper;
-import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
-import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer;
-
-/**
- * Serializes {@link org.apache.isis.applib.services.publish.EventMetadata event metadata} and corresponding
- * {@link org.apache.isis.applib.services.publish.EventPayload payload} into a JSON format corresponding to the
- * domain object representation specified by the Restful Objects spec.
- *
- * <p>
- * This implementation has no UI, has no side-effects, and there are no other implementations of the service API, and
- * so it annotated with {@link org.apache.isis.applib.annotation.DomainService}. This class is implemented in the
- * <tt>o.a.i.module:isis-module-publishingeventserializer-ro</tt> module. If that module is included in the classpath,
- * it this means that this service is automatically registered; no further configuration is required.
- */
-@DomainService
-public class RestfulObjectsSpecEventSerializer implements EventSerializer {
-
- private final static String BASE_URL_KEY = "isis.viewer.restfulobjects.RestfulObjectsSpecEventSerializer.baseUrl";
- private static final String BASE_URL_DEFAULT = "http://localhost:8080/restful/";
-
- //region > init, shutdown
- private String baseUrl;
-
- @Programmatic
- @PostConstruct
- public void init(Map<String,String> props) {
- final String baseUrlFromConfig = props.get(BASE_URL_KEY);
- baseUrl = baseUrlFromConfig != null? baseUrlFromConfig: BASE_URL_DEFAULT;
- }
-
- @Programmatic
- @PreDestroy
- public void shutdown() {
- }
- //endregion
-
- //region > serialize (API)
- @Programmatic
- @Override
- public Object serialize(EventMetadata metadata, EventPayload payload) {
- final RendererContext rendererContext = new EventSerializerRendererContext(baseUrl, Where.OBJECT_FORMS);
-
- final JsonRepresentation payloadRepr = asPayloadRepr(rendererContext, payload);
- final JsonRepresentation eventRepr = asEventRepr(metadata, payloadRepr);
-
- return jsonFor(eventRepr);
- }
- //endregion
-
- //region > supporting methods
- JsonRepresentation asEventRepr(EventMetadata metadata, final JsonRepresentation payloadRepr) {
- final JsonRepresentation eventRepr = JsonRepresentation.newMap();
- final JsonRepresentation metadataRepr = JsonRepresentation.newMap();
- eventRepr.mapPut("metadata", metadataRepr);
- metadataRepr.mapPut("id", metadata.getId());
- metadataRepr.mapPut("transactionId", metadata.getTransactionId());
- metadataRepr.mapPut("sequence", metadata.getSequence());
- metadataRepr.mapPut("eventType", metadata.getEventType());
- metadataRepr.mapPut("user", metadata.getUser());
- metadataRepr.mapPut("timestamp", metadata.getTimestamp());
- eventRepr.mapPut("payload", payloadRepr);
- return eventRepr;
- }
-
- JsonRepresentation asPayloadRepr(final RendererContext rendererContext, EventPayload payload) {
- final DomainObjectReprRenderer renderer = new DomainObjectReprRenderer(rendererContext, null, JsonRepresentation.newMap());
- final ObjectAdapter objectAdapter = rendererContext.getAdapterManager().adapterFor(payload);
- renderer.with(objectAdapter).asEventSerialization();
- return renderer.render();
- }
-
- String jsonFor(final Object object) {
- try {
- return getJsonMapper().write(object);
- } catch (final JsonGenerationException e) {
- throw new RuntimeException(e);
- } catch (final JsonMappingException e) {
- throw new RuntimeException(e);
- } catch (final IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- private final static JsonMapper jsonMapper = JsonMapper.instance();
-
- JsonMapper getJsonMapper() {
- return jsonMapper;
- }
- //endregion
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-publishingeventserializer-ro/src/main/resources/images/PublishedEventJdo.png
----------------------------------------------------------------------
diff --git a/core/module-publishingeventserializer-ro/src/main/resources/images/PublishedEventJdo.png b/core/module-publishingeventserializer-ro/src/main/resources/images/PublishedEventJdo.png
deleted file mode 100644
index cb3a325..0000000
Binary files a/core/module-publishingeventserializer-ro/src/main/resources/images/PublishedEventJdo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/.gitignore
----------------------------------------------------------------------
diff --git a/core/module-settings/.gitignore b/core/module-settings/.gitignore
deleted file mode 100644
index a48e45b..0000000
--- a/core/module-settings/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target-ide
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/.gitignore
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/.gitignore b/core/module-settings/applib/.gitignore
deleted file mode 100644
index a48e45b..0000000
--- a/core/module-settings/applib/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target-ide
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/pom.xml
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/pom.xml b/core/module-settings/applib/pom.xml
deleted file mode 100644
index 9f586c5..0000000
--- a/core/module-settings/applib/pom.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>isis-module-settings-applib</artifactId>
-
- <name>Isis Module: App and User Settings applib</name>
- <description>
- API for the application and user settings module.
- </description>
-
- <properties>
- <siteBaseDir>../..</siteBaseDir>
- <relativeUrl>module-settings/applib/</relativeUrl>
- </properties>
-
- <url>http://isis.apache.org/${relativeUrl}</url>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-applib</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-unittestsupport</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSetting.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSetting.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSetting.java
deleted file mode 100644
index 06d4ec1..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSetting.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-
-
-public interface ApplicationSetting extends Setting {
-
- String getKey();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
deleted file mode 100644
index d6ded31..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Named;
-
-public interface ApplicationSettingsService {
-
- @MemberOrder(sequence="1")
- ApplicationSetting find(@Named("Key") String key);
-
- @MemberOrder(sequence="2")
- List<ApplicationSetting> listAll();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
deleted file mode 100644
index ae680eb..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-
-public interface ApplicationSettingsServiceRW extends ApplicationSettingsService {
-
- @MemberOrder(sequence="11")
- ApplicationSetting newBoolean(String name, String description, Boolean defaultValue);
- @MemberOrder(sequence="12")
- ApplicationSetting newString(String name, String description, String defaultValue);
- @MemberOrder(sequence="13")
- ApplicationSetting newLocalDate(String name, String description, LocalDate defaultValue);
- @MemberOrder(sequence="14")
- ApplicationSetting newInt(String name, String description, Integer defaultValue);
- @MemberOrder(sequence="15")
- ApplicationSetting newLong(String name, String description, Long defaultValue);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/Setting.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/Setting.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/Setting.java
deleted file mode 100644
index 3999d4c..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/Setting.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-
-
-/**
- * Common supertype for both {@link ApplicationSetting} and {@link UserSetting}.
- *
- * <p>
- * The difference between the two is in the settings unique identifier;
- * the former just is uniquely identified by a single key (defined in
- * {@link #getKey() this interface}, whereas the latter is uniquely identified by
- * the combination of the key plus an identifier of the user.
- */
-public interface Setting {
-
- /**
- * In the case of {@link ApplicationSetting}, this constitutes the unique identifier;
- * for a {@link UserSetting}, the unique identifier is both this key plus an identifier
- * for the user.
- */
- String getKey();
-
- SettingType getType();
- String getDescription();
-
- String getValueRaw();
-
- String valueAsString();
- LocalDate valueAsLocalDate();
- Integer valueAsInt();
- Long valueAsLong();
- Boolean valueAsBoolean();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingAbstract.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingAbstract.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingAbstract.java
deleted file mode 100644
index 6eb39c8..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingAbstract.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.joda.time.LocalDate;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-
-import org.apache.isis.applib.annotation.Hidden;
-import org.apache.isis.applib.annotation.Immutable;
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.Optional;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.Title;
-import org.apache.isis.applib.annotation.Where;
-
-
-/**
- * Convenience class to implement {@link Setting}.
- */
-@Immutable
-public abstract class SettingAbstract implements Setting {
-
- public final static DateTimeFormatter DATE_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
-
- @Title(sequence="10")
- @MemberOrder(sequence="10")
- public abstract String getKey();
-
- @Optional
- @MemberOrder(sequence="80")
- public abstract String getDescription();
-
- @MemberOrder(sequence="90")
- public abstract SettingType getType();
-
- // //////////////////////////////////////
-
- @Title(prepend=" = ", sequence="30")
- @MemberOrder(sequence="30")
- @Hidden(where=Where.OBJECT_FORMS)
- public abstract String getValueRaw();
-
- // //////////////////////////////////////
-
- @Programmatic
- public String valueAsString() {
- ensure(SettingType.STRING);
- return getValueRaw();
- }
-
- // //////////////////////////////////////
-
- @Programmatic
- public LocalDate valueAsLocalDate() {
- ensure(SettingType.LOCAL_DATE);
- return parseValueAsLocalDate();
- }
-
- protected LocalDate parseValueAsLocalDate() {
- return LocalDate.parse(getValueRaw(), DATE_FORMATTER);
- }
-
- // //////////////////////////////////////
-
- @Programmatic
- public Integer valueAsInt() {
- ensure(SettingType.INT);
- return parseValueAsInt();
- }
-
- protected int parseValueAsInt() {
- return Integer.parseInt(getValueRaw());
- }
-
- // //////////////////////////////////////
-
- @Programmatic
- public Long valueAsLong() {
- ensure(SettingType.LONG);
- return parseValueAsLong();
- }
-
- protected long parseValueAsLong() {
- return Long.parseLong(getValueRaw());
- }
-
- // //////////////////////////////////////
-
- @Programmatic
- public Boolean valueAsBoolean() {
- ensure(SettingType.BOOLEAN);
- return parseValueAsBoolean();
- }
-
- protected boolean parseValueAsBoolean() {
- return Boolean.parseBoolean(getValueRaw());
- }
-
- // //////////////////////////////////////
-
- @MemberOrder(sequence="30")
- @Hidden(where=Where.ALL_TABLES)
- @Named("Value")
- public String getValueAsString() {
- return getValueRaw();
- }
- public boolean hideValueAsString() {
- return typeIsNot(SettingType.STRING);
- }
-
- // //////////////////////////////////////
-
- @MemberOrder(sequence="30")
- @Hidden(where=Where.ALL_TABLES)
- @Named("Value")
- public LocalDate getValueAsLocalDate() {
- return parseValueAsLocalDate();
- }
- public boolean hideValueAsLocalDate() {
- return typeIsNot(SettingType.LOCAL_DATE);
- }
-
- // //////////////////////////////////////
-
-
- @MemberOrder(sequence="30")
- @Hidden(where=Where.ALL_TABLES)
- @Named("Value")
- public Integer getValueAsInt() {
- return parseValueAsInt();
- }
- public boolean hideValueAsInt() {
- return typeIsNot(SettingType.INT);
- }
-
- // //////////////////////////////////////
-
-
-
- @MemberOrder(sequence="30")
- @Hidden(where=Where.ALL_TABLES)
- @Named("Value")
- public Long getValueAsLong() {
- return parseValueAsLong();
- }
- public boolean hideValueAsLong() {
- return typeIsNot(SettingType.LONG);
- }
-
- // //////////////////////////////////////
-
-
-
- @MemberOrder(sequence="30")
- @Hidden(where=Where.ALL_TABLES)
- @Named("Value")
- public Boolean getValueAsBoolean() {
- return parseValueAsBoolean();
- }
- public boolean hideValueAsBoolean() {
- return typeIsNot(SettingType.BOOLEAN);
- }
-
- // //////////////////////////////////////
-
- private void ensure(SettingType settingType) {
- if(typeIsNot(settingType)) {
- throw new IllegalStateException("Setting '" + getKey() + "' is of type " + getType() + ", not of type " + settingType);
- }
- }
-
- protected boolean typeIsNot(SettingType settingType) {
- return getType() != settingType;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingType.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingType.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingType.java
deleted file mode 100644
index a652bf3..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/SettingType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-
-public enum SettingType {
-
- BOOLEAN,
- INT,
- LONG,
- STRING,
- LOCAL_DATE
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSetting.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSetting.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSetting.java
deleted file mode 100644
index 24ccf65..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSetting.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.security.UserMemento;
-
-
-
-public interface UserSetting extends Setting {
-
- String getKey();
-
- /**
- * Typically as obtained from the {@link UserMemento#getName() UserMemento} class
- * (accessible in turn from the {@link DomainObjectContainer#getUser() DomainObjectContainer}).
- */
- String getUser();
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsService.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsService.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsService.java
deleted file mode 100644
index f798e62..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Named;
-
-public interface UserSettingsService {
-
- @MemberOrder(sequence="1")
- UserSetting find(@Named("User") String user, @Named("Key") String key);
-
- @MemberOrder(sequence="2")
- List<UserSetting> listAll();
-
- @MemberOrder(sequence="3")
- List<UserSetting> listAllFor(@Named("User") String user);
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsServiceRW.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsServiceRW.java b/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsServiceRW.java
deleted file mode 100644
index 8b048ea..0000000
--- a/core/module-settings/applib/src/main/java/org/apache/isis/applib/services/settings/UserSettingsServiceRW.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.MemberOrder;
-
-public interface UserSettingsServiceRW extends UserSettingsService {
-
- @MemberOrder(sequence="11")
- UserSetting newBoolean(String user, String name, String description, Boolean defaultValue);
- @MemberOrder(sequence="12")
- UserSetting newString(String user, String name, String description, String defaultValue);
- @MemberOrder(sequence="13")
- UserSetting newLocalDate(String user, String name, String description, LocalDate defaultValue);
- @MemberOrder(sequence="14")
- UserSetting newInt(String user, String name, String description, Integer defaultValue);
- @MemberOrder(sequence="15")
- UserSetting newLong(String user, String name, String description, Long defaultValue);
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/applib/src/test/java/org/apache/isis/applib/services/settings/SettingAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/module-settings/applib/src/test/java/org/apache/isis/applib/services/settings/SettingAbstractTest.java b/core/module-settings/applib/src/test/java/org/apache/isis/applib/services/settings/SettingAbstractTest.java
deleted file mode 100644
index bc3693d..0000000
--- a/core/module-settings/applib/src/test/java/org/apache/isis/applib/services/settings/SettingAbstractTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.isis.applib.services.settings;
-
-import org.joda.time.LocalDate;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class SettingAbstractTest {
-
- @Rule
- public ExpectedException expectedExceptions = ExpectedException.none();
-
- private static final class SettingAbstractForTesting extends SettingAbstract {
- private final String key;
- private final String valueRaw;
- private final SettingType type;
-
- public SettingAbstractForTesting(String key, String valueRaw, SettingType type) {
- this.key = key;
- this.valueRaw = valueRaw;
- this.type = type;
- }
-
- public String getKey() {
- return key;
- }
-
- public String getValueRaw() {
- return valueRaw;
- }
-
- public SettingType getType() {
- return type;
- }
-
- public String getDescription() {
- return null;
- }
- }
-
- private SettingAbstract strSetting;
- private SettingAbstract intSetting;
- private SettingAbstract localDateSetting;
- private SettingAbstract longSetting;
- private SettingAbstract boolSetting;
-
- private LocalDate someLocalDate;
-
- @Before
- public void setUp() throws Exception {
- someLocalDate = new LocalDate(2012,4,1);
-
- strSetting = new SettingAbstractForTesting("strSetting", "ABC", SettingType.STRING);
- intSetting = new SettingAbstractForTesting("intSetting", "" + Integer.MAX_VALUE, SettingType.INT);
- localDateSetting = new SettingAbstractForTesting("localDateSetting", someLocalDate.toString(SettingAbstract.DATE_FORMATTER), SettingType.LOCAL_DATE);
- longSetting = new SettingAbstractForTesting("longSetting", ""+Long.MAX_VALUE, SettingType.LONG);
- boolSetting = new SettingAbstractForTesting("boolSetting", Boolean.TRUE.toString(), SettingType.BOOLEAN);
- }
-
- @Test
- public void happyCases() {
- assertThat(strSetting.valueAsString(), is("ABC"));
- assertThat(intSetting.valueAsInt(), is(Integer.MAX_VALUE));
- assertThat(localDateSetting.valueAsLocalDate(), is(someLocalDate));
- assertThat(longSetting.valueAsLong(), is(Long.MAX_VALUE));
- assertThat(boolSetting.valueAsBoolean(), is(true));
- }
-
- @Test
- public void sadCases() {
- expectedExceptions.expectMessage("Setting 'strSetting' is of type STRING, not of type INT");
- strSetting.valueAsInt();
- expectedExceptions.expectMessage("Setting 'strSetting' is of type STRING, not of type LONG");
- strSetting.valueAsLong();
- expectedExceptions.expectMessage("Setting 'strSetting' is of type STRING, not of type LOCAL_DATE");
- strSetting.valueAsLocalDate();
- expectedExceptions.expectMessage("Setting 'strSetting' is of type STRING, not of type BOOLEAN");
- strSetting.valueAsBoolean();
- expectedExceptions.expectMessage("Setting 'intSetting' is of type INT, not of type STRING");
- intSetting.valueAsString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/.gitignore
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/.gitignore b/core/module-settings/impl-jdo/.gitignore
deleted file mode 100644
index a48e45b..0000000
--- a/core/module-settings/impl-jdo/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target-ide
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/pom.xml
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/pom.xml b/core/module-settings/impl-jdo/pom.xml
deleted file mode 100644
index fbbb12a..0000000
--- a/core/module-settings/impl-jdo/pom.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>isis-module-settings-impl-jdo</artifactId>
-
- <name>Isis Module: App and User Settings (JDO impl)</name>
- <description>
- Implementation of the application and user settings module, persisting
- to database (using JDO Objectstore)
- </description>
-
- <properties>
- <siteBaseDir>../..</siteBaseDir>
- <relativeUrl>module-settings/impl/</relativeUrl>
- </properties>
-
- <url>http://isis.apache.org/${relativeUrl}</url>
-
- <build>
- <resources>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- </resource>
- <resource>
- <filtering>false</filtering>
- <directory>src/main/java</directory>
- <includes>
- <include>**</include>
- </includes>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-maven-plugin</artifactId>
- <version>${datanucleus-maven-plugin.version}</version>
- <configuration>
- <fork>false</fork>
- <verbose>true</verbose>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>enhance</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.datanucleus
- </groupId>
- <artifactId>
- datanucleus-maven-plugin
- </artifactId>
- <versionRange>
- [3.2.0-release,)
- </versionRange>
- <goals>
- <goal>enhance</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.isis.module</groupId>
- <artifactId>isis-module-settings-applib</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-unittestsupport</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
-
- <!-- DataNucleus (jdo-api, and for enhancer) -->
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-accessplatform-jdo-rdbms</artifactId>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.datanucleus</groupId>
- <artifactId>datanucleus-jodatime</artifactId>
- </dependency>
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/src/main/java/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/src/main/java/META-INF/persistence.xml b/core/module-settings/impl-jdo/src/main/java/META-INF/persistence.xml
deleted file mode 100644
index 1b83835..0000000
--- a/core/module-settings/impl-jdo/src/main/java/META-INF/persistence.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
-
- <persistence-unit name="isis-module-settings-impl-jdo">
- </persistence-unit>
-</persistence>
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingJdo.java
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingJdo.java b/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingJdo.java
deleted file mode 100644
index 22d5e77..0000000
--- a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingJdo.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.objectstore.jdo.applib.service.settings;
-
-import javax.jdo.annotations.IdentityType;
-
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.services.settings.ApplicationSetting;
-import org.apache.isis.applib.services.settings.SettingType;
-import org.apache.isis.objectstore.jdo.applib.service.JdoColumnLength;
-
-@javax.jdo.annotations.PersistenceCapable(
- identityType = IdentityType.APPLICATION,
- table="IsisApplicationSetting")
-@javax.jdo.annotations.Queries({
- @javax.jdo.annotations.Query(
- name = "findByKey", language = "JDOQL",
- value = "SELECT "
- + "FROM org.apache.isis.objectstore.jdo.applib.service.settings.ApplicationSettingJdo "
- + "WHERE key == :key"),
- @javax.jdo.annotations.Query(
- name = "findAll", language = "JDOQL",
- value = "SELECT "
- + "FROM org.apache.isis.objectstore.jdo.applib.service.settings.ApplicationSettingJdo "
- + "ORDER BY key")
-})
-@Named("Application Setting")
-public class ApplicationSettingJdo extends SettingAbstractJdo implements ApplicationSetting {
-
-
- @javax.jdo.annotations.Column(length=JdoColumnLength.SettingAbstract.SETTING_KEY)
- @javax.jdo.annotations.PrimaryKey
- public String getKey() {
- return super.getKey();
- }
- @Override
- public void setKey(String key) {
- super.setKey(key);
- }
-
- // //////////////////////////////////////
-
- @javax.jdo.annotations.Column(length=JdoColumnLength.DESCRIPTION)
- @javax.jdo.annotations.Persistent
- @Override
- public String getDescription() {
- return super.getDescription();
- }
- @Override
- public void setDescription(String description) {
- super.setDescription(description);
- }
-
- // //////////////////////////////////////
-
- @javax.jdo.annotations.Column(allowsNull="false", length=JdoColumnLength.SettingAbstract.VALUE_RAW)
- @javax.jdo.annotations.Persistent
- @Override
- public String getValueRaw() {
- return super.getValueRaw();
- }
- @Override
- public void setValueRaw(String valueAsRaw) {
- super.setValueRaw(valueAsRaw);
- }
-
- // //////////////////////////////////////
-
- @javax.jdo.annotations.Column(allowsNull="false", length=JdoColumnLength.SettingAbstract.SETTING_TYPE)
- @javax.jdo.annotations.Persistent
- @Override
- public SettingType getType() {
- return super.getType();
- }
- @Override
- public void setType(SettingType type) {
- super.setType(type);
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java b/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
deleted file mode 100644
index 014455a..0000000
--- a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.objectstore.jdo.applib.service.settings;
-
-import java.util.List;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.annotation.ActionSemantics;
-import org.apache.isis.applib.annotation.ActionSemantics.Of;
-import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.annotation.Optional;
-import org.apache.isis.applib.query.QueryDefault;
-import org.apache.isis.applib.services.settings.ApplicationSetting;
-import org.apache.isis.applib.services.settings.ApplicationSettingsService;
-import org.apache.isis.applib.services.settings.ApplicationSettingsServiceRW;
-import org.apache.isis.applib.services.settings.SettingAbstract;
-import org.apache.isis.applib.services.settings.SettingType;
-
-/**
- * An implementation of {@link ApplicationSettingsService} that persists settings
- * as entities into a JDO-backed database.
- */
-@Named("Application Settings")
-public class ApplicationSettingsServiceJdo extends AbstractService implements ApplicationSettingsServiceRW {
-
- @ActionSemantics(Of.SAFE)
- @Override
- public ApplicationSetting find(@Named("Key") String key) {
- return firstMatch(
- new QueryDefault<ApplicationSettingJdo>(ApplicationSettingJdo.class,
- "findByKey",
- "key", key));
- }
-
- // //////////////////////////////////////
-
- @ActionSemantics(Of.SAFE)
- @MemberOrder(sequence="1")
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public List<ApplicationSetting> listAll() {
- return (List)allMatches(
- new QueryDefault<ApplicationSettingJdo>(ApplicationSettingJdo.class,
- "findAll"));
- }
-
- // //////////////////////////////////////
-
- @MemberOrder(sequence="10")
- @Override
- public ApplicationSetting newString(
- @Named("Key") String key,
- @Named("Description") @Optional String description,
- @Named("Value") String value) {
- return newSetting(key, description, SettingType.STRING, value);
- }
- @MemberOrder(sequence="11")
- @Override
- public ApplicationSettingJdo newInt(
- @Named("Key") String key,
- @Named("Description") @Optional String description,
- @Named("Value") Integer value) {
- return newSetting(key, description, SettingType.INT, value.toString());
- }
- @MemberOrder(sequence="12")
- @Override
- public ApplicationSettingJdo newLong(
- @Named("Key") String key,
- @Named("Description") @Optional String description,
- @Named("Value") Long value) {
- return newSetting(key, description, SettingType.LONG, value.toString());
- }
- @MemberOrder(sequence="13")
- @Override
- public ApplicationSettingJdo newLocalDate(
- @Named("Key") String key,
- @Named("Description") @Optional String description,
- @Named("Value") LocalDate value) {
- return newSetting(key, description, SettingType.LOCAL_DATE, value.toString(SettingAbstract.DATE_FORMATTER));
- }
- @MemberOrder(sequence="14")
- @Override
- public ApplicationSettingJdo newBoolean(
- @Named("Key") String key,
- @Named("Description") @Optional String description,
- @Named("Value") @Optional Boolean value) {
- return newSetting(key, description, SettingType.BOOLEAN, new Boolean(value != null && value).toString());
- }
-
- private ApplicationSettingJdo newSetting(
- String key, String description, SettingType settingType, final String valueRaw) {
- final ApplicationSettingJdo setting = newTransientInstance(ApplicationSettingJdo.class);
- setting.setKey(key);
- setting.setDescription(description);
- setting.setValueRaw(valueRaw);
- setting.setType(settingType);
- persist(setting);
- return setting;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/790e70df/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdoHidden.java
----------------------------------------------------------------------
diff --git a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdoHidden.java b/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdoHidden.java
deleted file mode 100644
index 95512c0..0000000
--- a/core/module-settings/impl-jdo/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdoHidden.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.objectstore.jdo.applib.service.settings;
-
-import java.util.List;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.Hidden;
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.applib.services.settings.ApplicationSetting;
-
-/**
- * An implementation intended to be hidden in the UI, and delegated to by other services.
- */
-public class ApplicationSettingsServiceJdoHidden extends ApplicationSettingsServiceJdo {
-
- @Hidden
- @Override
- public ApplicationSetting find(@Named("Key") String key) {
- return super.find(key);
- }
-
- // //////////////////////////////////////
-
- @Hidden
- @Override
- public List<ApplicationSetting> listAll() {
- return super.listAll();
- }
-
- // //////////////////////////////////////
-
- @Hidden
- @Override
- public ApplicationSetting newString(String key, String description, String value) {
- return super.newString(key, description, value);
- }
-
- @Hidden
- @Override
- public ApplicationSettingJdo newInt(String key, String description, Integer value) {
- return super.newInt(key, description, value);
- }
-
- @Hidden
- @Override
- public ApplicationSettingJdo newLong(String key, String description, Long value) {
- return super.newLong(key, description, value);
- }
-
- @Hidden
- @Override
- public ApplicationSettingJdo newLocalDate(String key, String description, LocalDate value) {
- return super.newLocalDate(key, description, value);
- }
-
- @Hidden
- @Override
- public ApplicationSettingJdo newBoolean(String key, String description, Boolean value) {
- return super.newBoolean(key, description, value);
- }
-
-}