Uses java-11 in naked objects

上级 b0ac4c1c
......@@ -127,7 +127,7 @@
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
......
/**
* 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.
*/
{
"columns": [
{
......
......@@ -50,9 +50,9 @@ import org.apache.isis.applib.util.ObjectContracts;
strategy = javax.jdo.annotations.IdGeneratorStrategy.IDENTITY, column = "id")
@javax.jdo.annotations.Version(strategy = VersionStrategy.VERSION_NUMBER, column = "version")
@javax.jdo.annotations.Queries({
@javax.jdo.annotations.Query(name = "find", language = "JDOQL", value = "SELECT "
@javax.jdo.annotations.Query(name = "find", value = "SELECT "
+ "FROM domainapp.dom.modules.simple.SimpleObject "),
@javax.jdo.annotations.Query(name = "findByName", language = "JDOQL", value = "SELECT "
@javax.jdo.annotations.Query(name = "findByName", value = "SELECT "
+ "FROM domainapp.dom.modules.simple.SimpleObject " + "WHERE name.indexOf(:name) >= 0 ")})
@javax.jdo.annotations.Unique(name = "SimpleObject_name_UNQ", members = {"name"})
@DomainObject
......
/**
* 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.
*/
{
"columns": [
{
......
......@@ -37,12 +37,12 @@ public class SimpleObjectTest {
SimpleObject simpleObject;
@Before
public void setUp() throws Exception {
public void setUp() {
simpleObject = new SimpleObject();
}
@Test
public void testName() throws Exception {
public void testName() {
// given
String name = "Foobar";
assertNull(simpleObject.getName());
......
......@@ -52,13 +52,13 @@ public class SimpleObjectsTest {
SimpleObjects simpleObjects;
@Before
public void setUp() throws Exception {
public void setUp() {
simpleObjects = new SimpleObjects();
simpleObjects.container = mockContainer;
}
@Test
public void testCreate() throws Exception {
public void testCreate() {
// given
final SimpleObject simpleObject = new SimpleObject();
......@@ -85,7 +85,7 @@ public class SimpleObjectsTest {
}
@Test
public void testListAll() throws Exception {
public void testListAll() {
// given
final List<SimpleObject> all = Lists.newArrayList();
......
......@@ -67,8 +67,7 @@ public class SimpleObjectCreate extends FixtureScript {
@Override
protected void execute(final ExecutionContext ec) {
String paramName = checkParam("name", ec, String.class);
var paramName = checkParam("name", ec, String.class);
this.simpleObject = wrap(simpleObjects).create(paramName);
......
......@@ -27,7 +27,6 @@ import com.google.common.collect.Lists;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.fixture.modules.simple.SimpleObjectCreate;
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
import java.util.Collections;
import java.util.List;
import org.apache.isis.applib.fixturescripts.FixtureScript;
......@@ -37,8 +36,18 @@ import org.apache.isis.applib.fixturescripts.FixtureScript;
*/
public class RecreateSimpleObjects extends FixtureScript {
public final List<String> names = Collections.unmodifiableList(List.of("Foo", "Bar", "Baz",
"Frodo", "Froyo", "Fizz", "Bip", "Bop", "Bang", "Boo"));
public final List<String> names = List.of(
"Foo",
"Bar",
"Baz",
"Frodo",
"Froyo",
"Fizz",
"Bip",
"Bop",
"Bang",
"Boo"
);
// region > number (optional input)
private Integer number;
......@@ -77,7 +86,7 @@ public class RecreateSimpleObjects extends FixtureScript {
protected void execute(final ExecutionContext ec) {
// defaults
final int paramNumber = defaultParam("number", ec, 3);
final var paramNumber = defaultParam("number", ec, 3);
// validate
if (paramNumber < 0 || paramNumber > names.size()) {
......@@ -90,8 +99,8 @@ public class RecreateSimpleObjects extends FixtureScript {
//
ec.executeChild(this, new SimpleObjectsTearDown());
for (int i = 0; i < paramNumber; i++) {
final SimpleObjectCreate fs = new SimpleObjectCreate().setName(names.get(i));
for (var i = 0; i < paramNumber; i++) {
final var fs = new SimpleObjectCreate().setName(names.get(i));
ec.executeChild(this, fs.getName(), fs);
simpleObjects.add(fs.getSimpleObject());
}
......
......@@ -25,7 +25,6 @@ package domainapp.integtests.bootstrap;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.integtestsupport.IsisSystemForTest;
import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller;
import org.apache.isis.objectstore.jdo.datanucleus.IsisConfigurationForJdoIntegTests;
/**
......@@ -40,7 +39,7 @@ public final class SimpleAppSystemInitializer {
* Init test system
*/
public static void initIsft() {
IsisSystemForTest isft = IsisSystemForTest.getElseNull();
var isft = IsisSystemForTest.getElseNull();
if (isft == null) {
isft = new SimpleAppSystemBuilder().build().setUpSystem();
IsisSystemForTest.set(isft);
......@@ -51,15 +50,13 @@ public final class SimpleAppSystemInitializer {
public SimpleAppSystemBuilder() {
with(testConfiguration());
with(new DataNucleusPersistenceMechanismInstaller());
// services annotated with @DomainService
withServicesIn("domainapp");
}
private static IsisConfiguration testConfiguration() {
final IsisConfigurationForJdoIntegTests testConfiguration =
new IsisConfigurationForJdoIntegTests();
final var testConfiguration = new IsisConfigurationForJdoIntegTests();
testConfiguration.addRegisterEntitiesPackagePrefix("domainapp.dom.modules");
return testConfiguration;
......
......@@ -23,10 +23,9 @@
package domainapp.integtests.specglue;
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
import cucumber.api.java.Before;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
/**
* Test Execution to append a fixture of SimpleObjects
......@@ -34,7 +33,7 @@ import domainapp.fixture.scenarios.RecreateSimpleObjects;
public class CatalogOfFixturesGlue extends CukeGlueAbstract {
@Before(value = {"@integration", "@SimpleObjectsFixture"}, order = 20000)
public void integrationFixtures() throws Throwable {
public void integrationFixtures() {
scenarioExecution().install(new RecreateSimpleObjects());
}
}
......@@ -28,9 +28,7 @@ import static org.junit.Assert.assertThat;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.When;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.dom.modules.simple.SimpleObjects;
import java.util.List;
import java.util.UUID;
import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
......@@ -40,9 +38,9 @@ import org.apache.isis.core.specsupport.specs.CukeGlueAbstract;
public class SimpleObjectGlue extends CukeGlueAbstract {
@Given("^there are.* (\\d+) simple objects$")
public void thereAreNumSimpleObjects(int n) throws Throwable {
public void thereAreNumSimpleObjects(int n) {
try {
final List<SimpleObject> findAll = service(SimpleObjects.class).listAll();
final var findAll = service(SimpleObjects.class).listAll();
assertThat(findAll.size(), is(n));
putVar("list", "all", findAll);
......@@ -52,7 +50,7 @@ public class SimpleObjectGlue extends CukeGlueAbstract {
}
@When("^I create a new simple object$")
public void createNewSimpleObject() throws Throwable {
public void createNewSimpleObject() {
service(SimpleObjects.class).create(UUID.randomUUID().toString());
}
......
......@@ -26,8 +26,10 @@ package domainapp.integtests.tests.modules.simple;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
import javax.inject.Inject;
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.apache.isis.applib.services.wrapper.DisabledException;
......@@ -35,10 +37,6 @@ import org.apache.isis.applib.services.wrapper.InvalidException;
import org.junit.Before;
import org.junit.Test;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
/**
* Test Fixtures with Simple Objects
*/
......@@ -56,7 +54,7 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
private static final String NEW_NAME = "new name";
@Before
public void setUp() throws Exception {
public void setUp() {
// given
fs = new RecreateSimpleObjects().setNumber(1);
fixtureScripts.runFixtureScript(fs, null);
......@@ -68,15 +66,15 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
}
@Test
public void testNameAccessible() throws Exception {
// when
final String name = simpleObjectWrapped.getName();
public void testNameAccessible() {
/* when */
final var name = simpleObjectWrapped.getName();
// then
assertEquals(fs.names.get(0), name);
}
@Test
public void testNameCannotBeUpdatedDirectly() throws Exception {
public void testNameCannotBeUpdatedDirectly() {
// expect
expectedExceptions.expect(DisabledException.class);
......@@ -86,7 +84,7 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
}
@Test
public void testUpdateName() throws Exception {
public void testUpdateName() {
// when
simpleObjectWrapped.updateName(NEW_NAME);
......@@ -96,7 +94,7 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
}
@Test
public void testUpdateNameFailsValidation() throws Exception {
public void testUpdateNameFailsValidation() {
// expect
expectedExceptions.expect(InvalidException.class);
......@@ -107,13 +105,13 @@ public class SimpleObjectIntegTest extends SimpleAppIntegTest {
}
@Test
public void testInterpolatesName() throws Exception {
public void testInterpolatesName() {
// given
final String name = simpleObjectWrapped.getName();
final var name = simpleObjectWrapped.getName();
// when
final String title = container.titleOf(simpleObjectWrapped);
final var title = container.titleOf(simpleObjectWrapped);
// then
assertEquals("Object: " + name, title);
......
......@@ -25,11 +25,13 @@ package domainapp.integtests.tests.modules.simple;
import static org.junit.Assert.assertEquals;
import com.google.common.base.Throwables;
import domainapp.dom.modules.simple.SimpleObjects;
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
import java.sql.SQLIntegrityConstraintViolationException;
import java.util.List;
import javax.inject.Inject;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.hamcrest.Description;
......@@ -37,14 +39,6 @@ import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import org.junit.Test;
import com.google.common.base.Throwables;
import domainapp.dom.modules.simple.SimpleObject;
import domainapp.dom.modules.simple.SimpleObjects;
import domainapp.fixture.modules.simple.SimpleObjectsTearDown;
import domainapp.fixture.scenarios.RecreateSimpleObjects;
import domainapp.integtests.tests.SimpleAppIntegTest;
/**
* Fixture Pattern Integration Test
*/
......@@ -56,25 +50,25 @@ public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
SimpleObjects simpleObjects;
@Test
public void testListAll() throws Exception {
public void testListAll() {
// given
RecreateSimpleObjects fs = new RecreateSimpleObjects();
var fs = new RecreateSimpleObjects();
fixtureScripts.runFixtureScript(fs, null);
nextTransaction();
// when
final List<SimpleObject> all = wrap(simpleObjects).listAll();
final var all = wrap(simpleObjects).listAll();
// then
assertEquals(fs.getSimpleObjects().size(), all.size());
SimpleObject simpleObject = wrap(all.get(0));
var simpleObject = wrap(all.get(0));
assertEquals(fs.getSimpleObjects().get(0).getName(), simpleObject.getName());
}
@Test
public void testListAllWhenNone() throws Exception {
public void testListAllWhenNone() {
// given
FixtureScript fs = new SimpleObjectsTearDown();
......@@ -82,14 +76,14 @@ public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
nextTransaction();
// when
final List<SimpleObject> all = wrap(simpleObjects).listAll();
final var all = wrap(simpleObjects).listAll();
// then
assertEquals(0, all.size());
}
@Test
public void testCreate() throws Exception {
public void testCreate() {
// given
FixtureScript fs = new SimpleObjectsTearDown();
......@@ -100,12 +94,12 @@ public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
wrap(simpleObjects).create("Faz");
// then
final List<SimpleObject> all = wrap(simpleObjects).listAll();
final var all = wrap(simpleObjects).listAll();
assertEquals(1, all.size());
}
@Test
public void testCreateWhenAlreadyExists() throws Exception {
public void testCreateWhenAlreadyExists() {
// given
FixtureScript fs = new SimpleObjectsTearDown();
......@@ -115,24 +109,24 @@ public class SimpleObjectsIntegTest extends SimpleAppIntegTest {
nextTransaction();
// then
expectedExceptions.expectCause(causalChainContains(SQLIntegrityConstraintViolationException.class));
expectedExceptions
.expectCause(causalChainContains(SQLIntegrityConstraintViolationException.class));
// when
wrap(simpleObjects).create("Faz");
nextTransaction();
}
@SuppressWarnings("SameParameterValue")
private static Matcher<? extends Throwable> causalChainContains(final Class<?> cls) {
return new TypeSafeMatcher<Throwable>() {
return new TypeSafeMatcher<>() {
@Override
@SuppressWarnings("UnstableApiUsage")
protected boolean matchesSafely(Throwable item) {
final List<Throwable> causalChain = Throwables.getCausalChain(item);
for (Throwable throwable : causalChain) {
if (cls.isAssignableFrom(throwable.getClass())) {
return true;
}
}
return false;
final var causalChain = Throwables.getCausalChain(item);
return causalChain.stream()
.map(Throwable::getClass)
.allMatch(cls::isAssignableFrom);
}
@Override
......
......@@ -2,7 +2,3 @@
/SimpleApp-PROTOTYPE-no-fixtures.launch
/SimpleApp-PROTOTYPE-with-fixtures.launch
/SimpleApp-SERVER-no-fixtures.launch
/SimpleApp-PROTOTYPE-jrebel.launch
/SimpleApp-PROTOTYPE-no-fixtures.launch
/SimpleApp-PROTOTYPE-with-fixtures.launch
/SimpleApp-SERVER-no-fixtures.launch
......@@ -129,7 +129,7 @@
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
......
......@@ -31,18 +31,15 @@ import com.google.inject.name.Names;
import com.google.inject.util.Modules;
import com.google.inject.util.Providers;
import de.agilecoders.wicket.core.Bootstrap;
import de.agilecoders.wicket.core.settings.IBootstrapSettings;
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme;
import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.isis.viewer.wicket.viewer.IsisWicketApplication;
import org.apache.isis.viewer.wicket.viewer.integration.wicket.AuthenticatedWebSessionForIsis;
import org.apache.wicket.Session;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.http.WebRequest;
......@@ -85,7 +82,7 @@ public class SimpleApplication extends IsisWicketApplication {
protected void init() {
super.init();
IBootstrapSettings settings = Bootstrap.getSettings();
var settings = Bootstrap.getSettings();
settings.setThemeProvider(new BootswatchThemeProvider(BootswatchTheme.Flatly));
}
......@@ -96,13 +93,10 @@ public class SimpleApplication extends IsisWicketApplication {
}
// else demo mode
final AuthenticatedWebSessionForIsis s =
(AuthenticatedWebSessionForIsis) super.newSession(request, response);
IRequestParameters requestParameters = request.getRequestParameters();
final org.apache.wicket.util.string.StringValue user =
requestParameters.getParameterValue("user");
final org.apache.wicket.util.string.StringValue password =
requestParameters.getParameterValue("pass");
final var s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
var requestParameters = request.getRequestParameters();
final var user = requestParameters.getParameterValue("user");
final var password = requestParameters.getParameterValue("pass");
s.signIn(user.toString(), password.toString());
return s;
}
......@@ -115,7 +109,7 @@ public class SimpleApplication extends IsisWicketApplication {
// else demo mode
try {
String uname = servletRequest.getParameter("user");
var uname = servletRequest.getParameter("user");
if (uname != null) {
servletRequest.getSession().invalidate();
}
......@@ -127,7 +121,7 @@ public class SimpleApplication extends IsisWicketApplication {
@Override
protected Module newIsisWicketModule() {
final Module isisDefaults = super.newIsisWicketModule();
final var isisDefaults = super.newIsisWicketModule();
final Module overrides = new AbstractModule() {
@Override
......@@ -148,11 +142,11 @@ public class SimpleApplication extends IsisWicketApplication {
return Modules.override(isisDefaults).with(overrides);
}
@SuppressWarnings({"UnstableApiUsage", "SameParameterValue"})
private static String readLines(final Class<?> contextClass, final String resourceName) {
try {
List<String> readLines =
Resources.readLines(Resources.getResource(contextClass, resourceName),
Charset.defaultCharset());
var resource = Resources.getResource(contextClass, resourceName);
var readLines = Resources.readLines(resource, Charset.defaultCharset());
return Joiner.on("\n").join(readLines);
} catch (IOException e) {
return "This is a simple app";
......
......@@ -110,8 +110,8 @@ th, td {
</p>
<p>
provides access to a RESTful API conformant with the
<a href="http://restfulobjects.org">Restful Objects</a> spec</td>. This is part of Apache Isis Core. The
implementation technology is JBoss RestEasy.
<a href="http://restfulobjects.org">Restful Objects</a> spec. This is part of Apache Isis Core.
The implementation technology is JBoss RestEasy.
</p>
</li>
</ul>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册