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 2016/11/22 12:26:30 UTC
[1/9] isis git commit: ISIS-1524: Dates not showing in view model
Repository: isis
Updated Branches:
refs/heads/maint-1.13.2 2844a93e3 -> 48fece9b8
ISIS-1524: Dates not showing in view model
Added support for java.util.Date to MementoService
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/852c5772
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/852c5772
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/852c5772
Branch: refs/heads/maint-1.13.2
Commit: 852c5772ec27004430a35d41b61141ff721ffa84
Parents: 2844a93
Author: mwhesse <mw...@gmail.com>
Authored: Sun Nov 6 14:24:43 2016 +0700
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:07:10 2016 +0000
----------------------------------------------------------------------
.../runtime/services/memento/Dom4jUtil.java | 33 ++++++++++++++++++--
.../memento/MementoServiceDefaultTest.java | 3 ++
2 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/852c5772/core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java
index a22e49b..2f1ad27 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java
@@ -21,6 +21,7 @@ import java.io.StringReader;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Date;
import org.dom4j.Document;
import org.dom4j.DocumentException;
@@ -101,7 +102,7 @@ class Dom4jUtil {
}
private static String encodeForNulls(final Object value) {
- return value != null ? value.toString() : NULL_MARKER;
+ return value != null ? Parseable.format(value) : NULL_MARKER;
}
private static String decodeForNulls(final String valueStr) {
return NULL_MARKER.equals(valueStr)? null: valueStr;
@@ -186,6 +187,17 @@ class Dom4jUtil {
return (T) new LocalDate(str);
}
},
+ JAVA_UTIL_DATE(Date.class) {
+ @SuppressWarnings({ "unchecked" })
+ @Override
+ <T> T parseStr(String str, Class<T> cls) {
+ return (T) new Date(Long.parseLong(str));
+ }
+ @Override
+ <T> String format(Object o, Class<T> cls) {
+ return Long.toString(((Date) o).getTime());
+ }
+ },
ENUM(Enum.class) {
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@@ -212,11 +224,13 @@ class Dom4jUtil {
return classes;
}
abstract <T> T parseStr(String str, Class<T> cls);
+ <T> String format(Object o, Class<T> cls) {
+ return o.toString();
+ }
// //////////////////////////////////////
- @SuppressWarnings("unchecked")
- static <T> T parse(final String str, final Class<?> cls) {
+ static <T> T parse(final String str, final Class<? extends T> cls) {
assertSupported(cls);
for (Parseable sc : values()) {
for (Class<?> eachCls: sc.getClasses()) {
@@ -229,6 +243,19 @@ class Dom4jUtil {
}
return null;
}
+
+ static String format(final Object o) {
+ if(isSupported(o.getClass())) {
+ for (Parseable sc : values()) {
+ for (Class<?> eachCls: sc.getClasses()) {
+ if(eachCls.isAssignableFrom(o.getClass())) {
+ return sc.format(o, o.getClass());
+ }
+ }
+ }
+ }
+ return o.toString();
+ }
static boolean isSupported(final Class<?> cls) {
for (Parseable sc : values()) {
http://git-wip-us.apache.org/repos/asf/isis/blob/852c5772/core/runtime/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java
index 7511b57..90cb912 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertThat;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Date;
import org.joda.time.LocalDate;
import org.junit.Before;
@@ -60,6 +61,7 @@ public class MementoServiceDefaultTest {
memento.set("someBigInteger", new BigInteger("123456789012345678901234567890"));
memento.set("someBigDecimal", new BigDecimal("123456789012345678901234567890.123456789"));
memento.set("someLocalDate", new LocalDate(2013,9,3));
+ memento.set("someJavaUtilDate", new Date(300_000_000));
memento.set("someBookmark", new Bookmark("CUS", "12345"));
memento.set("someNullValue", null);
@@ -83,6 +85,7 @@ public class MementoServiceDefaultTest {
assertThat(memento2.get("someBigInteger", BigInteger.class), is(new BigInteger("123456789012345678901234567890")));
assertThat(memento2.get("someBigDecimal", BigDecimal.class), is(new BigDecimal("123456789012345678901234567890.123456789")));
assertThat(memento2.get("someLocalDate", LocalDate.class), is(new LocalDate(2013,9,3)));
+ assertThat(memento2.get("someJavaUtilDate", Date.class), is(new Date(300_000_000)));
assertThat(memento2.get("someBookmark", Bookmark.class), is(new Bookmark("CUS", "12345")));
// a nullValue can be grabbed as any type, will always succeed
[2/9] isis git commit: Merge branch 'ISIS-1524' into maint-1.13.2
Posted by da...@apache.org.
Merge branch 'ISIS-1524' into maint-1.13.2
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/8b70b192
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/8b70b192
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/8b70b192
Branch: refs/heads/maint-1.13.2
Commit: 8b70b192e0bede9329fb587ab650177cb69ae011
Parents: 2844a93 852c577
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Nov 22 12:10:38 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:10:38 2016 +0000
----------------------------------------------------------------------
.../runtime/services/memento/Dom4jUtil.java | 33 ++++++++++++++++++--
.../memento/MementoServiceDefaultTest.java | 3 ++
2 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
[8/9] isis git commit: Fixes the order of member id in the
GirdSystemService
Posted by da...@apache.org.
Fixes the order of member id in the GirdSystemService
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/573bab68
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/573bab68
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/573bab68
Branch: refs/heads/maint-1.13.2
Commit: 573bab68b185c3cb308e0b81a93a4ae2d754aadd
Parents: 854da9e
Author: mwhesse <mw...@gmail.com>
Authored: Sun Nov 20 17:54:46 2016 +0700
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:21:55 2016 +0000
----------------------------------------------------------------------
.../org/apache/isis/core/metamodel/spec/feature/ObjectMember.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/573bab68/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
index 12488f0..39b2177 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
@@ -188,7 +188,7 @@ public interface ObjectMember extends ObjectFeature {
// fails if there are multiple members with the same id...
// return Maps.newHashMap(Maps.uniqueIndex(members, ObjectMember.Functions.getId()));
- final HashMap<String, T> memberById = Maps.newHashMap();
+ final HashMap<String, T> memberById = Maps.newLinkedHashMap();
for (T member : members) {
final String id = Functions.getId().apply(member);
// if there are multiple members with same id, just disregard
[6/9] isis git commit: ISIS-1526: removes launch file added in
previous commit
Posted by da...@apache.org.
ISIS-1526: removes launch file added in previous commit
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/19a2ef3b
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/19a2ef3b
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/19a2ef3b
Branch: refs/heads/maint-1.13.2
Commit: 19a2ef3b10c4c51279bf2a9e6bd26a20a3574bbf
Parents: cc7c0e5
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Nov 22 12:14:57 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:14:57 2016 +0000
----------------------------------------------------------------------
.../eclipse/launch/SimpleApp-PROTOTYPE.launch | 20 --------------------
1 file changed, 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/19a2ef3b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
deleted file mode 100644
index 918c5f1..0000000
--- a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
-<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
-<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
-<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--type SERVER_PROTOTYPE --port 8080"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="simpleapp-webapp"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-</launchConfiguration>
[4/9] isis git commit: revert port
Posted by da...@apache.org.
revert port
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cc5df5dd
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cc5df5dd
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cc5df5dd
Branch: refs/heads/maint-1.13.2
Commit: cc5df5dd7c4ea678429842e79b5570e8409f430c
Parents: 73f1c25
Author: mwhesse <mw...@gmail.com>
Authored: Sun Oct 30 16:27:41 2016 +0700
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:12:09 2016 +0000
----------------------------------------------------------------------
.../simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/cc5df5dd/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
index 5aaa2a4..918c5f1 100644
--- a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
+++ b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
@@ -14,7 +14,7 @@
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--type SERVER_PROTOTYPE --port 9090"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--type SERVER_PROTOTYPE --port 8080"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="simpleapp-webapp"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
</launchConfiguration>
[5/9] isis git commit: peekConfiguration() returns configuration
Posted by da...@apache.org.
peekConfiguration() returns configuration
peekConfiguration() returns a new IsisConfigurationDefault that has a
copy of all the properties currently held within this.configuration.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/cc7c0e52
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/cc7c0e52
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/cc7c0e52
Branch: refs/heads/maint-1.13.2
Commit: cc7c0e528cf7812f2234df4aa741768b6333b30e
Parents: cc5df5d
Author: mwhesse <mw...@gmail.com>
Authored: Tue Nov 1 22:30:46 2016 +0700
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:12:17 2016 +0000
----------------------------------------------------------------------
.../configbuilder/IsisConfigurationBuilder.java | 30 +++------
...figurationBuilder_PeekConfigurationTest.java | 64 ++++++++++++++++++++
.../core/webapp/IsisWebAppBootstrapper.java | 2 +-
.../wicket/viewer/IsisWicketApplication.java | 2 +-
.../apache/isis/core/webserver/WebServer.java | 4 +-
5 files changed, 76 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/cc7c0e52/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
index cf0986b..22c8a5c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
@@ -21,28 +21,15 @@ package org.apache.isis.core.commons.configbuilder;
import java.io.IOException;
import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
-import com.google.common.base.Objects;
-import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.isis.core.commons.config.ConfigurationConstants;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
@@ -54,6 +41,11 @@ import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsi
import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.Sets;
/**
* Holds a mutable set of properties representing the configuration.
@@ -80,7 +72,7 @@ public final class IsisConfigurationBuilder {
private final ResourceStreamSourceChainOfResponsibility resourceStreamSourceChain;
- private final IsisConfigurationDefault configuration;
+ /* package */ final IsisConfigurationDefault configuration;
private boolean locked;
private final Set<String> configurationResourcesFound = Sets.newLinkedHashSet();
@@ -359,17 +351,11 @@ public final class IsisConfigurationBuilder {
* Used while bootstrapping, to obtain the web.server port etc.
* </p>
*/
- public IsisConfiguration peekConfiguration(String...keys) {
+ public IsisConfiguration peekConfiguration() {
IsisConfigurationDefault cfg = new IsisConfigurationDefault(resourceStreamSourceChain);
// no locking
- final Set<String> keysToCopy = new HashSet<String>(Arrays.asList(Optional.of(keys).or(new String[0])));
Properties props = new Properties();
- props.putAll(Maps.filterEntries(configuration.asMap(), new Predicate<Entry<String, String>>() {
- @Override
- public boolean apply(Entry<String, String> entry) {
- return keysToCopy.contains(entry.getKey());
- }
- }));
+ props.putAll(configuration.asMap());
cfg.add(props, ContainsPolicy.OVERWRITE);
return cfg;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/cc7c0e52/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder_PeekConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder_PeekConfigurationTest.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder_PeekConfigurationTest.java
new file mode 100644
index 0000000..f2c24b2
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder_PeekConfigurationTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.core.commons.configbuilder;
+
+import java.util.Properties;
+
+import org.apache.isis.core.commons.config.IsisConfiguration;
+
+import junit.framework.TestCase;
+
+public class IsisConfigurationBuilder_PeekConfigurationTest extends TestCase {
+
+ private IsisConfigurationBuilder configurationBuilder;
+
+ public IsisConfigurationBuilder_PeekConfigurationTest(final String name) {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ configurationBuilder = new IsisConfigurationBuilder();
+ configurationBuilder.add("isis.test", "val");
+ }
+
+ public void testPeekConfiguration() {
+
+ IsisConfiguration configuration = null;
+
+ // pre-conditions
+ assertNull(configuration);
+ assertEquals("val", configurationBuilder.configuration.getString("isis.test"));
+ assertFalse(configurationBuilder.isLocked());
+
+ // peek into the configuration
+ configuration = configurationBuilder.peekConfiguration();
+
+ // invariant holds
+ assertEquals("val", configurationBuilder.configuration.getString("isis.test"));
+ assertFalse(configurationBuilder.isLocked());
+
+ // post-conditions
+ assertNotNull(configuration);
+ assertEquals("val", configuration.getString("isis.test"));
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/cc7c0e52/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
index e9ae6f1..9123aea 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
@@ -191,7 +191,7 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
return deploymentTypeStr;
}
- deploymentTypeStr = isisConfigurationBuilder.peekConfiguration(SystemConstants.DEPLOYMENT_TYPE_KEY).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
+ deploymentTypeStr = isisConfigurationBuilder.peekConfiguration().getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
if (deploymentTypeStr != null) {
return deploymentTypeStr;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/cc7c0e52/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index f898465..c40b7d9 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -493,7 +493,7 @@ public class IsisWicketApplication
try {
final IsisConfigurationBuilder isisConfigurationBuilder = obtainConfigBuilder();
- final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration("isis.deploymentType");
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
deploymentType = determineDeploymentType(deploymentTypeFromConfig);
} finally {
http://git-wip-us.apache.org/repos/asf/isis/blob/cc7c0e52/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
index 6aa7ea4..d9060d2 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
@@ -123,7 +123,7 @@ public class WebServer {
// create and start
jettyServer = createJettyServerAndBindConfig(isisConfigurationBuilder);
- final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration(EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY);
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
final String startupModeStr = configuration.getString(
EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY, EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT);
final StartupMode startupMode = StartupMode.lookup(startupModeStr);
@@ -156,7 +156,7 @@ public class WebServer {
private Server createJettyServerAndBindConfig(final IsisConfigurationBuilder configurationBuilder) {
// the Isis system is actually bootstrapped by the ServletContextInitializer in the web.xml
- final IsisConfiguration configuration = configurationBuilder.peekConfiguration(EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY);
+ final IsisConfiguration configuration = configurationBuilder.peekConfiguration();
final int port = configuration.getInteger(
EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_PORT_DEFAULT);
final String webappContextPath = configuration.getString(
[9/9] isis git commit: Merge branch 'ISIS-1541' into maint-1.13.2
Posted by da...@apache.org.
Merge branch 'ISIS-1541' into maint-1.13.2
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/48fece9b
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/48fece9b
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/48fece9b
Branch: refs/heads/maint-1.13.2
Commit: 48fece9b876ea27d65eb08261d6cb38b41289d78
Parents: 854da9e 573bab6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Nov 22 12:24:18 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:24:18 2016 +0000
----------------------------------------------------------------------
.../org/apache/isis/core/metamodel/spec/feature/ObjectMember.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[3/9] isis git commit: ISIS-1526 - proposed fix
Posted by da...@apache.org.
ISIS-1526 - proposed fix
peeking into configuration needs to take into account selective
properties
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/73f1c25f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/73f1c25f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/73f1c25f
Branch: refs/heads/maint-1.13.2
Commit: 73f1c25f385a0451e268746b105ee493c34163b2
Parents: 8b70b19
Author: mwhesse <mw...@gmail.com>
Authored: Sun Oct 30 16:19:45 2016 +0700
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:12:00 2016 +0000
----------------------------------------------------------------------
.../configbuilder/IsisConfigurationBuilder.java | 24 ++++++++++++++++++--
.../core/webapp/IsisWebAppBootstrapper.java | 2 +-
.../wicket/viewer/IsisWicketApplication.java | 2 +-
.../apache/isis/core/webserver/WebServer.java | 11 +++++----
.../eclipse/launch/SimpleApp-PROTOTYPE.launch | 20 ++++++++++++++++
5 files changed, 51 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/73f1c25f/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
index ba75b22..cf0986b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
@@ -21,10 +21,18 @@ package org.apache.isis.core.commons.configbuilder;
import java.io.IOException;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
import java.util.Set;
import com.google.common.base.Objects;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.commons.cli.BasicParser;
@@ -38,6 +46,7 @@ import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.config.ConfigurationConstants;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault.ContainsPolicy;
import org.apache.isis.core.commons.config.NotFoundPolicy;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.resource.ResourceStreamSource;
@@ -350,8 +359,19 @@ public final class IsisConfigurationBuilder {
* Used while bootstrapping, to obtain the web.server port etc.
* </p>
*/
- public IsisConfigurationDefault peekConfiguration() {
- return new IsisConfigurationDefault(resourceStreamSourceChain);
+ public IsisConfiguration peekConfiguration(String...keys) {
+ IsisConfigurationDefault cfg = new IsisConfigurationDefault(resourceStreamSourceChain);
+ // no locking
+ final Set<String> keysToCopy = new HashSet<String>(Arrays.asList(Optional.of(keys).or(new String[0])));
+ Properties props = new Properties();
+ props.putAll(Maps.filterEntries(configuration.asMap(), new Predicate<Entry<String, String>>() {
+ @Override
+ public boolean apply(Entry<String, String> entry) {
+ return keysToCopy.contains(entry.getKey());
+ }
+ }));
+ cfg.add(props, ContainsPolicy.OVERWRITE);
+ return cfg;
}
private void ensureNotLocked() {
http://git-wip-us.apache.org/repos/asf/isis/blob/73f1c25f/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
index 9123aea..e9ae6f1 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
@@ -191,7 +191,7 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
return deploymentTypeStr;
}
- deploymentTypeStr = isisConfigurationBuilder.peekConfiguration().getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
+ deploymentTypeStr = isisConfigurationBuilder.peekConfiguration(SystemConstants.DEPLOYMENT_TYPE_KEY).getString(SystemConstants.DEPLOYMENT_TYPE_KEY);
if (deploymentTypeStr != null) {
return deploymentTypeStr;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/73f1c25f/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index c40b7d9..f898465 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -493,7 +493,7 @@ public class IsisWicketApplication
try {
final IsisConfigurationBuilder isisConfigurationBuilder = obtainConfigBuilder();
- final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration("isis.deploymentType");
String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
deploymentType = determineDeploymentType(deploymentTypeFromConfig);
} finally {
http://git-wip-us.apache.org/repos/asf/isis/blob/73f1c25f/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
index 2478b73..6aa7ea4 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServer.java
@@ -123,7 +123,7 @@ public class WebServer {
// create and start
jettyServer = createJettyServerAndBindConfig(isisConfigurationBuilder);
- final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration();
+ final IsisConfiguration configuration = isisConfigurationBuilder.peekConfiguration(EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY);
final String startupModeStr = configuration.getString(
EMBEDDED_WEB_SERVER_STARTUP_MODE_KEY, EMBEDDED_WEB_SERVER_STARTUP_MODE_DEFAULT);
final StartupMode startupMode = StartupMode.lookup(startupModeStr);
@@ -156,7 +156,7 @@ public class WebServer {
private Server createJettyServerAndBindConfig(final IsisConfigurationBuilder configurationBuilder) {
// the Isis system is actually bootstrapped by the ServletContextInitializer in the web.xml
- final IsisConfiguration configuration = configurationBuilder.peekConfiguration();
+ final IsisConfiguration configuration = configurationBuilder.peekConfiguration(EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_RESOURCE_BASE_KEY);
final int port = configuration.getInteger(
EMBEDDED_WEB_SERVER_PORT_KEY, EMBEDDED_WEB_SERVER_PORT_DEFAULT);
final String webappContextPath = configuration.getString(
@@ -236,8 +236,11 @@ public class WebServer {
final String contextPath = handler.getContextPath();
final StringBuilder buf = new StringBuilder();
- final Formatter formatter = new Formatter(buf);
- formatter.format("%s://%s:%d/%s", scheme, host, port, contextPath);
+
+ try(final Formatter formatter = new Formatter(buf)) {
+ formatter.format("%s://%s:%d/%s", scheme, host, port, contextPath);
+ }
+
return appendSlashIfRequired(buf).toString();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/73f1c25f/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
new file mode 100644
index 0000000..5aaa2a4
--- /dev/null
+++ b/example/application/simpleapp/webapp/ide/eclipse/launch/SimpleApp-PROTOTYPE.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/isis-core-webserver/src/main/java/org/apache/isis/WebServer.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
+<mapEntry key="[debug]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+<mapEntry key="[run]" value="org.eclipse.jdt.launching.localJavaApplication"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.isis.WebServer"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--type SERVER_PROTOTYPE --port 9090"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="simpleapp-webapp"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
[7/9] isis git commit: Merge branch 'ISIS-1526' into maint-1.13.2
Posted by da...@apache.org.
Merge branch 'ISIS-1526' into maint-1.13.2
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/854da9ea
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/854da9ea
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/854da9ea
Branch: refs/heads/maint-1.13.2
Commit: 854da9ead4f1c39eecdde3b44f849ccf69ace0b9
Parents: 8b70b19 19a2ef3
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Nov 22 12:15:28 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 22 12:15:28 2016 +0000
----------------------------------------------------------------------
.../configbuilder/IsisConfigurationBuilder.java | 24 +++++---
...figurationBuilder_PeekConfigurationTest.java | 64 ++++++++++++++++++++
.../apache/isis/core/webserver/WebServer.java | 7 ++-
3 files changed, 84 insertions(+), 11 deletions(-)
----------------------------------------------------------------------