This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch v2 in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/v2 by this push: new b2d9ae0 ISIS-2049: Remove guava from core b2d9ae0 is described below commit b2d9ae06eba3dc09f35df03f47fae6bd1490f218 Author: Andi Huber <ahu...@apache.org> AuthorDate: Wed Dec 12 10:56:55 2018 +0100 ISIS-2049: Remove guava from core Task-Url: https://issues.apache.org/jira/browse/ISIS-2049 --- .../ServiceInstantiatorTestUsingCodegenPlugin.java | 10 ++- .../BidirectionalRelationshipContractTestAll.java | 4 +- .../comparable/CategorizedDomainObject.java | 31 +++----- core/viewer-restfulobjects-applib/pom.xml | 5 -- .../services/acceptheader/AcceptHeaderService.java | 2 +- .../viewer/restfulobjects/applib/util/Parser.java | 83 +++++++++++----------- .../restfulobjects/applib/util/PathNode.java | 10 +-- .../viewer/restfulobjects/applib/JsonFixture.java | 12 ++-- .../JsonRepresentationTest_asInputStream.java | 26 ++++--- .../restfulobjects/applib/util/Parser_Test.java | 54 ++++++++------ .../rendering/ReprRendererAbstract.java | 5 +- .../rendering/domainobjects/JsonValueEncoder.java | 4 +- .../rendering/domainobjects/MemberType.java | 17 +++-- .../domainobjects/ObjectActionReprRenderer.java | 6 +- .../acceptheader/AcceptHeaderServiceForRest.java | 45 +++++------- .../restfulobjects/rendering/util/MapUtils.java | 4 +- .../viewer/restfulobjects/rendering/util/Util.java | 10 +-- .../AuthenticationSessionStrategyHeader.java | 7 +- .../server/mappers/ExceptionMapperAbstract.java | 31 +++++--- .../resources/DomainObjectResourceServerside.java | 15 ++-- .../server/resources/ImageResourceServerside.java | 9 +-- .../server/resources/VersionReprRenderer.java | 10 ++- .../server/ResourceContextTest_getArg.java | 5 +- ..._ensureCompatibleAcceptHeader_ContractTest.java | 5 +- 24 files changed, 201 insertions(+), 209 deletions(-) diff --git a/core/detached-tests/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java b/core/detached-tests/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java index 40c69c3..7131c20 100644 --- a/core/detached-tests/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java +++ b/core/detached-tests/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java @@ -26,15 +26,13 @@ import java.util.concurrent.TimeUnit; import javax.enterprise.context.RequestScoped; -import com.google.common.base.Predicates; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.Lists; - import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.apache.isis.commons.internal.base._NullSafe; +import org.apache.isis.commons.internal.collections._Lists; import org.apache.isis.core.metamodel.services.ServicesInjector; import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2; @@ -145,7 +143,7 @@ public class ServiceInstantiatorTestUsingCodegenPlugin { final Consumer consumer = serviceInstantiator.createInstance(Consumer.class); - final List<Integer> allTheNumbers = Collections.synchronizedList(Lists.<Integer>newArrayList()); + final List<Integer> allTheNumbers = Collections.synchronizedList(_Lists.<Integer>newArrayList()); final int n = 100; for (int i = 0; i < n; i++) { @@ -182,7 +180,7 @@ public class ServiceInstantiatorTestUsingCodegenPlugin { ((RequestScopedService)consumer).__isis_endRequest(); - assertEquals(0, FluentIterable.from(allTheNumbers).filter(Predicates.<Integer>notNull()).size()); + assertEquals(0L, _NullSafe.stream(allTheNumbers).filter(_NullSafe::isPresent).count()); } public static class SingletonCalculator { diff --git a/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java b/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java index 9b1f50c..3284d87 100644 --- a/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java +++ b/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java @@ -18,13 +18,13 @@ */ package org.apache.isis.core.unittestsupport.bidir; -import com.google.common.collect.ImmutableMap; +import org.apache.isis.commons.internal.collections._Maps; public class BidirectionalRelationshipContractTestAll extends BidirectionalRelationshipContractTestAbstract { public BidirectionalRelationshipContractTestAll() { super("org.apache.isis.core.unittestsupport.bidir", - ImmutableMap.<Class<?>,Instantiator>of( + _Maps.<Class<?>,Instantiator>unmodifiable( // no instantiator need be registered for ParentDomainObject.class; // will default to using new InstantiatorSimple(AgreementForTesting.class), ChildDomainObject.class, new InstantiatorForChildDomainObject(), diff --git a/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java b/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java index de361dd..c31616e 100644 --- a/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java +++ b/core/detached-tests/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java @@ -16,11 +16,12 @@ */ package org.apache.isis.core.unittestsupport.comparable; -import com.google.common.collect.Ordering; - +import static org.apache.isis.commons.internal.base._NullSafe.compareNullsFirst; public class CategorizedDomainObject implements Comparable<CategorizedDomainObject> { + // -- + private Integer category; public Integer getCategory() { @@ -31,7 +32,7 @@ public class CategorizedDomainObject implements Comparable<CategorizedDomainObje this.category = category; } - + // -- private Integer subcategory; @@ -43,28 +44,16 @@ public class CategorizedDomainObject implements Comparable<CategorizedDomainObje this.subcategory = subcategory; } - + // -- @Override public int compareTo(CategorizedDomainObject other) { - return ORDER_BY_CATEGORY.compound(ORDER_BY_SUBCATEGORY).compare(this, other); - } - - private static Ordering<CategorizedDomainObject> ORDER_BY_CATEGORY = new Ordering<CategorizedDomainObject>() { - @Override - public int compare(CategorizedDomainObject left, CategorizedDomainObject right) { - return Ordering.natural().nullsFirst().compare(left.getCategory(), right.getCategory()); + int c = compareNullsFirst(this.getCategory(), other.getCategory()); + if(c!=0) { + return c; } - }; - - private static Ordering<CategorizedDomainObject> ORDER_BY_SUBCATEGORY = new Ordering<CategorizedDomainObject>() { - @Override - public int compare(CategorizedDomainObject left, CategorizedDomainObject right) { - return Ordering.natural().nullsFirst().compare(left.getSubcategory(), right.getSubcategory()); - } - - }; - + return compareNullsFirst(this.getSubcategory(), other.getSubcategory()); + } } diff --git a/core/viewer-restfulobjects-applib/pom.xml b/core/viewer-restfulobjects-applib/pom.xml index 325c6e0..34271b0 100644 --- a/core/viewer-restfulobjects-applib/pom.xml +++ b/core/viewer-restfulobjects-applib/pom.xml @@ -35,11 +35,6 @@ </properties> <dependencies> - <!-- [ahuber] there is still the goal of removing guava from ro-applib --> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> <dependency> <groupId>log4j</groupId> diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java index 017604c..8072669 100644 --- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java +++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java @@ -20,7 +20,7 @@ package org.apache.isis.applib.services.acceptheader; import java.util.List; -import com.google.common.net.MediaType; +import javax.ws.rs.core.MediaType; import org.apache.isis.applib.annotation.Programmatic; diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser.java index bb0ec13..95a8468 100644 --- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser.java +++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser.java @@ -29,9 +29,6 @@ import java.util.stream.Collectors; import javax.ws.rs.core.CacheControl; import javax.ws.rs.core.MediaType; -import com.google.common.base.Joiner; -import com.google.common.base.Splitter; - import org.apache.isis.commons.internal._Constants; import org.apache.isis.commons.internal.base._NullSafe; import org.apache.isis.commons.internal.base._Strings; @@ -152,23 +149,23 @@ public abstract class Parser<T> { }; } - @Deprecated // [ahuber] MediaType is in standard API! proposing removal - public static Parser<com.google.common.net.MediaType> forGuavaMediaType() { - return new Parser<com.google.common.net.MediaType>() { - @Override - public com.google.common.net.MediaType valueOf(final String str) { - if (str == null) { - return null; - } - return com.google.common.net.MediaType.parse(str); - } - - @Override - public String asString(final com.google.common.net.MediaType t) { - return t.toString(); - } - }; - } +// @Deprecated // [ahuber] MediaType is in standard API! proposing removal +// public static Parser<com.google.common.net.MediaType> forGuavaMediaType() { +// return new Parser<com.google.common.net.MediaType>() { +// @Override +// public com.google.common.net.MediaType valueOf(final String str) { +// if (str == null) { +// return null; +// } +// return com.google.common.net.MediaType.parse(str); +// } +// +// @Override +// public String asString(final com.google.common.net.MediaType t) { +// return t.toString(); +// } +// }; +// } public static Parser<Boolean> forBoolean() { return new Parser<Boolean>() { @@ -372,29 +369,29 @@ public abstract class Parser<T> { }; } - @Deprecated // [ahuber] MediaType is in standard API! proposing removal - public static Parser<List<com.google.common.net.MediaType>> forListOfGuavaMediaTypes() { - return new Parser<List<com.google.common.net.MediaType>>() { - - @Override - public List<com.google.common.net.MediaType> valueOf(final String str) { - if (str == null) { - return Collections.emptyList(); - } - final List<String> strings = _Lists.newArrayList(Splitter.on(",").split(str)); - return _Lists.map(strings, (final String input) -> { - return com.google.common.net.MediaType.parse(input); - }); - } - - @Override - public String asString(final List<com.google.common.net.MediaType> listOfMediaTypes) { - final List<String> strings = _Lists.map(listOfMediaTypes, - (final com.google.common.net.MediaType input)->input.toString()); - return Joiner.on(",").join(strings); - } - }; - } +// @Deprecated // [ahuber] MediaType is in standard API! proposing removal +// public static Parser<List<com.google.common.net.MediaType>> forListOfGuavaMediaTypes() { +// return new Parser<List<com.google.common.net.MediaType>>() { +// +// @Override +// public List<com.google.common.net.MediaType> valueOf(final String str) { +// if (str == null) { +// return Collections.emptyList(); +// } +// final List<String> strings = _Lists.newArrayList(Splitter.on(",").split(str)); +// return _Lists.map(strings, (final String input) -> { +// return com.google.common.net.MediaType.parse(input); +// }); +// } +// +// @Override +// public String asString(final List<com.google.common.net.MediaType> listOfMediaTypes) { +// final List<String> strings = _Lists.map(listOfMediaTypes, +// (final com.google.common.net.MediaType input)->input.toString()); +// return Joiner.on(",").join(strings); +// } +// }; +// } @Deprecated // [ahuber] what is this? since it does nothing marking it deprecated public static Parser<String> forETag() { diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/PathNode.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/PathNode.java index 42e4c25..9a343fe 100644 --- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/PathNode.java +++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/PathNode.java @@ -31,8 +31,6 @@ import org.apache.isis.commons.internal.collections._Lists; import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation; -import com.google.common.base.Splitter; - public class PathNode { private static final Pattern NODE = Pattern.compile("^([^\\[]*)(\\[(.+)\\])?$"); private static final Pattern WHITESPACE = Pattern.compile("\\s+"); @@ -84,8 +82,9 @@ public class PathNode { final Map<String, String> criteria = _Maps.newHashMap(); final String criteriaStr = nodeMatcher.group(3); if (criteriaStr != null) { - - for (final String criterium : Splitter.on(WHITESPACE).split(criteriaStr)) { + + _Strings.splitThenStream(criteriaStr, WHITESPACE) + .forEach(criterium->{ final Matcher keyValueMatcher = LIST_CRITERIA_SYNTAX.matcher(criterium); if (keyValueMatcher.matches()) { criteria.put(keyValueMatcher.group(1), keyValueMatcher.group(2)); @@ -93,7 +92,8 @@ public class PathNode { // take content as a map criteria criteria.put(criterium, null); } - } + }); + } return new PathNode(key, criteria); diff --git a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonFixture.java b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonFixture.java index 4ac440c..79562b4 100644 --- a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonFixture.java +++ b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonFixture.java @@ -19,22 +19,26 @@ package org.apache.isis.viewer.restfulobjects.applib; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import org.apache.isis.commons.internal.resources._Resources; import org.apache.isis.viewer.restfulobjects.applib.util.JsonMapper; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Charsets; -import com.google.common.io.Resources; public class JsonFixture { private JsonFixture() { } - public static JsonNode readJson(final String resourceName) throws JsonParseException, JsonMappingException, IOException { - return JsonMapper.instance().read(Resources.toString(Resources.getResource(JsonFixture.class, resourceName), Charsets.UTF_8), JsonNode.class); + public static JsonNode readJson(final String resourceName) + throws JsonParseException, JsonMappingException, IOException { + + String json = _Resources.loadAsString(JsonFixture.class, resourceName, StandardCharsets.UTF_8); + + return JsonMapper.instance().read(json, JsonNode.class); } } diff --git a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonRepresentationTest_asInputStream.java b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonRepresentationTest_asInputStream.java index 42c0a62..b916523 100644 --- a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonRepresentationTest_asInputStream.java +++ b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/JsonRepresentationTest_asInputStream.java @@ -18,20 +18,21 @@ */ package org.apache.isis.viewer.restfulobjects.applib; -import static org.apache.isis.viewer.restfulobjects.applib.JsonFixture.readJson; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.junit.Assert.assertThat; - -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import org.junit.Before; import org.junit.Test; -import com.google.common.base.Charsets; +import org.apache.isis.commons.internal.base._Bytes; +import org.apache.isis.commons.internal.base._Strings; + +import static org.apache.isis.viewer.restfulobjects.applib.JsonFixture.readJson; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.junit.Assert.assertThat; public class JsonRepresentationTest_asInputStream { @@ -45,12 +46,9 @@ public class JsonRepresentationTest_asInputStream { @Test public void asInputStream() throws IOException { final InputStream array = jsonRepresentation.asInputStream(); - - final ByteArrayOutputStream to = new ByteArrayOutputStream(); - com.google.common.io.ByteStreams.copy(array, to); - - final String jsonStr = to.toString(Charsets.UTF_8.name()); - + + final String jsonStr = _Strings.ofBytes(_Bytes.of(array), StandardCharsets.UTF_8); + assertThat(jsonStr, is(not(nullValue()))); } diff --git a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_Test.java b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_Test.java index 14d1b5c..14fcb49 100644 --- a/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_Test.java +++ b/core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_Test.java @@ -23,10 +23,6 @@ import java.util.Calendar; import java.util.Date; import java.util.List; -import javax.ws.rs.core.CacheControl; - -import com.google.common.net.MediaType; - import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; @@ -112,25 +108,37 @@ public class Parser_Test { assertThat(valueOf.get(2).get(2), is("f")); } - @Test - public void forGuavaMediaTypes() { - final Parser<MediaType> parser = Parser.forGuavaMediaType(); - final MediaType mediaType = MediaType.parse("application/json"); - final String asString = parser.asString(mediaType); - final MediaType valueOf = parser.valueOf(asString); - - assertThat(valueOf, is(mediaType)); - } - - @Test - public void forListOfMediaTypes() { - final Parser<List<MediaType>> parser = Parser.forListOfGuavaMediaTypes(); - final List<MediaType> list = Arrays.asList(MediaType.parse("application/xml"), MediaType.parse("application/json")); - final String asString = parser.asString(list); - final List<MediaType> valueOf = parser.valueOf(asString); - - assertThat(list, sameContentsAs(valueOf)); - } +// @Test +// public void forGuavaMediaTypes() { +// final Parser<MediaType> parser = Parser.forGuavaMediaType(); +// final MediaType mediaType = MediaType.parse("application/json"); +// final String asString = parser.asString(mediaType); +// final MediaType valueOf = parser.valueOf(asString); +// +// assertThat(valueOf, is(mediaType)); +// } +// +// @Test +// public void forListOfMediaTypes() { +// final Parser<List<MediaType>> parser = Parser.forListOfGuavaMediaTypes(); +// final List<MediaType> list = Arrays.asList(MediaType.parse("application/xml"), MediaType.parse("application/json")); +// final String asString = parser.asString(list); +// final List<MediaType> valueOf = parser.valueOf(asString); +// +// assertThat(list, sameContentsAs(valueOf)); +// } +// +// @Test +// public void forMediaTypeJson() { +// final MediaType mediaType = MediaType.valueOf("application/json"); +// assertEquals(MediaType.APPLICATION_JSON_TYPE, mediaType); +// } +// +// @Test +// public void forMediaTypeXml() { +// final MediaType mediaType = MediaType.valueOf("application/xml"); +// assertEquals(MediaType.APPLICATION_XML_TYPE, mediaType); +// } @Test public void forDate() { diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java index 668915b..a7e11f9 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java @@ -24,9 +24,8 @@ import java.util.stream.Stream; import javax.ws.rs.core.MediaType; -import com.google.common.collect.Maps; - import org.apache.isis.commons.internal.collections._Lists; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy; import org.apache.isis.core.metamodel.spec.ObjectSpecification; @@ -42,7 +41,7 @@ public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>, private final LinkFollowSpecs linkFollower; private final RepresentationType representationType; protected final JsonRepresentation representation; - private final Map<String,String> mediaTypeParams = Maps.newLinkedHashMap(); + private final Map<String,String> mediaTypeParams = _Maps.newLinkedHashMap(); private final InteractionInitiatedBy interactionInitiatedBy; diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java index cc2830b..94600b3 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder.java @@ -26,7 +26,6 @@ import java.util.Map; import java.util.stream.Collectors; import com.fasterxml.jackson.databind.node.NullNode; -import com.google.common.collect.Maps; import org.joda.time.DateTime; import org.joda.time.LocalDate; @@ -36,6 +35,7 @@ import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.ISODateTimeFormat; import org.apache.isis.commons.internal.base._NullSafe; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider; import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet; @@ -94,7 +94,7 @@ public final class JsonValueEncoder { } } - private static Map<ObjectSpecId, JsonValueConverter> converterBySpec = Maps.newLinkedHashMap(); + private static Map<ObjectSpecId, JsonValueConverter> converterBySpec = _Maps.newLinkedHashMap(); private static void putConverter(JsonValueConverter jvc) { final List<ObjectSpecId> specIds = jvc.getSpecIds(); diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/MemberType.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/MemberType.java index a478b07..36b1654 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/MemberType.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/MemberType.java @@ -21,31 +21,30 @@ package org.apache.isis.viewer.restfulobjects.rendering.domainobjects; import java.util.Map; import org.apache.isis.applib.util.Enums; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet; +import org.apache.isis.core.metamodel.facets.actions.validate.ActionValidationFacet; import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet; import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet; +import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateAddToFacet; +import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateRemoveFromFacet; import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet; import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet; +import org.apache.isis.core.metamodel.facets.properties.validating.PropertyValidateFacet; import org.apache.isis.core.metamodel.spec.ObjectSpecification; import org.apache.isis.core.metamodel.spec.feature.ObjectAction; import org.apache.isis.core.metamodel.spec.feature.ObjectFeature; import org.apache.isis.core.metamodel.spec.feature.ObjectMember; import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation; import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation; -import org.apache.isis.core.metamodel.facets.actions.validate.ActionValidationFacet; -import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateAddToFacet; -import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateRemoveFromFacet; -import org.apache.isis.core.metamodel.facets.properties.validating.PropertyValidateFacet; import org.apache.isis.viewer.restfulobjects.applib.Rel; import org.apache.isis.viewer.restfulobjects.applib.RepresentationType; import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod; -import com.google.common.collect.ImmutableMap; - public enum MemberType { PROPERTY("properties/", RepresentationType.OBJECT_PROPERTY, - ImmutableMap.of( + _Maps.unmodifiable( "modify", MutatorSpec.of(Rel.MODIFY, PropertyValidateFacet.class, PropertySetterFacet.class, RestfulHttpMethod.PUT, BodyArgs.ONE), "clear", MutatorSpec.of(Rel.CLEAR, PropertyValidateFacet.class, PropertyClearFacet.class, RestfulHttpMethod.DELETE, BodyArgs.NONE))) { @Override @@ -58,7 +57,7 @@ public enum MemberType { * {@link CollectionSemantics#getAddToKey()} */ COLLECTION("collections/", RepresentationType.OBJECT_COLLECTION, - ImmutableMap.of( + _Maps.unmodifiable( "addToSet", MutatorSpec.of(Rel.ADD_TO, CollectionValidateAddToFacet.class, CollectionAddToFacet.class, RestfulHttpMethod.PUT, BodyArgs.ONE), "addToList", MutatorSpec.of(Rel.ADD_TO, CollectionValidateAddToFacet.class, CollectionAddToFacet.class, RestfulHttpMethod.POST, BodyArgs.ONE), "removeFrom", MutatorSpec.of(Rel.REMOVE_FROM, CollectionValidateRemoveFromFacet.class, CollectionRemoveFromFacet.class, RestfulHttpMethod.DELETE, BodyArgs.ONE))) { @Override @@ -71,7 +70,7 @@ public enum MemberType { * {@link ActionSemantics#getInvokeKey()} */ ACTION("actions/", RepresentationType.OBJECT_ACTION, - ImmutableMap.of( + _Maps.unmodifiable( "invokeQueryOnly", MutatorSpec.of(Rel.INVOKE, ActionValidationFacet.class, ActionInvocationFacet.class, RestfulHttpMethod.GET, BodyArgs.MANY, "invoke"), "invokeIdempotent", MutatorSpec.of(Rel.INVOKE, ActionValidationFacet.class, ActionInvocationFacet.class, RestfulHttpMethod.PUT, BodyArgs.MANY, "invoke"), "invoke", MutatorSpec.of(Rel.INVOKE, ActionValidationFacet.class, ActionInvocationFacet.class, RestfulHttpMethod.POST, BodyArgs.MANY, "invoke"))) { diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java index a4b7317..d1a1ac2 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java @@ -21,11 +21,11 @@ import java.util.Map; import java.util.stream.Stream; import com.fasterxml.jackson.databind.node.NullNode; -import org.apache.isis.commons.internal.collections._Lists; -import com.google.common.collect.Maps; import org.apache.isis.applib.annotation.SemanticsOf; import org.apache.isis.applib.annotation.Where; +import org.apache.isis.commons.internal.collections._Lists; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy; import org.apache.isis.core.metamodel.spec.ObjectSpecification; @@ -146,7 +146,7 @@ public class ObjectActionReprRenderer extends AbstractObjectMemberReprRenderer<O } representation.mapPut("parameters", parameters); } else { - final Map<String,Object> parameters = Maps.newLinkedHashMap(); + final Map<String,Object> parameters = _Maps.newLinkedHashMap(); for (int i = 0; i < objectMember.getParameterCount(); i++) { final ObjectActionParameter param = objectMember.getParameters().get(i); final Object paramDetails = paramDetails(param, getInteractionInitiatedBy()); diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/acceptheader/AcceptHeaderServiceForRest.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/acceptheader/AcceptHeaderServiceForRest.java index 6f938be..3c62c6b 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/acceptheader/AcceptHeaderServiceForRest.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/acceptheader/AcceptHeaderServiceForRest.java @@ -18,22 +18,23 @@ package org.apache.isis.viewer.restfulobjects.rendering.service.acceptheader; import java.io.IOException; import java.util.List; +import java.util.stream.Collectors; -import javax.annotation.Nullable; import javax.enterprise.context.RequestScoped; import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; import javax.ws.rs.container.ContainerResponseContext; +import javax.ws.rs.container.ContainerResponseFilter; +import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.Provider; -import com.google.common.collect.Multimaps; -import com.google.common.collect.SetMultimap; -import com.google.common.net.MediaType; - import org.apache.isis.applib.annotation.DomainService; import org.apache.isis.applib.annotation.NatureOfService; import org.apache.isis.applib.annotation.Programmatic; import org.apache.isis.applib.services.acceptheader.AcceptHeaderService; -import org.apache.isis.commons.internal.collections._Lists; +import org.apache.isis.commons.internal.base._NullSafe; + +import static org.apache.isis.commons.internal.base._NullSafe.stream; @DomainService( nature = NatureOfService.DOMAIN, @@ -66,36 +67,26 @@ public class AcceptHeaderServiceForRest implements AcceptHeaderService { @Provider - public static class RequestFilter implements javax.ws.rs.container.ContainerRequestFilter - { + public static class RequestFilter implements ContainerRequestFilter { @Override public void filter(final ContainerRequestContext requestContext) throws IOException { - List<javax.ws.rs.core.MediaType> acceptableMediaTypes = requestContext.getAcceptableMediaTypes(); - - final List<MediaType> mediaTypes = - _Lists.newArrayList( - _Lists.map(acceptableMediaTypes, ( - @Nullable - final javax.ws.rs.core.MediaType input) -> { - if (input == null) { - return null; - } - final MediaType mediaType = MediaType.create(input.getType(), input.getSubtype()); - final SetMultimap<String, String> parameters = Multimaps.forMap(input.getParameters()); - return mediaType.withParameters(parameters); - }) - ); + final List<MediaType> acceptableMediaTypes = requestContext.getAcceptableMediaTypes(); + + final List<MediaType> mediaTypes = stream(acceptableMediaTypes) + .filter(_NullSafe::isPresent) + .collect(Collectors.toList()); + setMediaTypes(mediaTypes); } } @Provider - public static class ResponseFilter implements javax.ws.rs.container.ContainerResponseFilter - { + public static class ResponseFilter implements ContainerResponseFilter { @Override public void filter( - final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) - throws IOException { + final ContainerRequestContext requestContext, + final ContainerResponseContext responseContext) throws IOException { + removeMediaTypes(); } } diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/MapUtils.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/MapUtils.java index 915d504..cfd6ed8 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/MapUtils.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/MapUtils.java @@ -21,7 +21,7 @@ package org.apache.isis.viewer.restfulobjects.rendering.util; import java.util.Collections; import java.util.Map; -import com.google.common.collect.Maps; +import org.apache.isis.commons.internal.collections._Maps; public final class MapUtils { @@ -32,7 +32,7 @@ public final class MapUtils { if (keyOrValues.length % 2 != 0) { throw new IllegalArgumentException("Must provide an even number of arguments"); } - final Map<String, String> map = Maps.newLinkedHashMap(); + final Map<String, String> map = _Maps.newLinkedHashMap(); String key = null; for (final String keyOrValue : keyOrValues) { if (key != null) { diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/Util.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/Util.java index 33037bb..5217be7 100644 --- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/Util.java +++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/util/Util.java @@ -18,11 +18,14 @@ package org.apache.isis.viewer.restfulobjects.rendering.util; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.Map; + import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; -import com.google.common.base.Charsets; -import com.google.common.io.ByteStreams; + +import org.apache.isis.commons.internal.base._Bytes; +import org.apache.isis.commons.internal.base._Strings; import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation; import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse; import org.apache.isis.viewer.restfulobjects.applib.util.JsonMapper; @@ -41,8 +44,7 @@ public final class Util { */ public static String asStringUtf8(final InputStream body) { try { - final byte[] byteArray = ByteStreams.toByteArray(body); - return new String(byteArray, Charsets.UTF_8); + return _Strings.ofBytes(_Bytes.of(body), StandardCharsets.UTF_8); } catch (final IOException e) { throw RestfulObjectsApplicationException.createWithCauseAndMessage(RestfulResponse.HttpStatusCode.BAD_REQUEST, e, "could not read body"); } diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyHeader.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyHeader.java index 70b3a2a..4f4a8e0 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyHeader.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/authentication/AuthenticationSessionStrategyHeader.java @@ -20,15 +20,13 @@ package org.apache.isis.viewer.restfulobjects.server.authentication; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import com.google.common.base.Splitter; import org.apache.isis.commons.internal.base._Strings; -import org.apache.isis.commons.internal.collections._Lists; - import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.runtime.authentication.standard.SimpleSession; import org.apache.isis.core.webapp.auth.AuthenticationSessionStrategyAbstract; @@ -61,6 +59,7 @@ public class AuthenticationSessionStrategyHeader extends AuthenticationSessionSt if (rolesStr == null) { return Collections.emptyList(); } - return _Lists.newArrayList(Splitter.on(",").split(rolesStr)); + return _Strings.splitThenStream(rolesStr, ",") + .collect(Collectors.toList()); } } diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/mappers/ExceptionMapperAbstract.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/mappers/ExceptionMapperAbstract.java index c1cde1d..f581bda 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/mappers/ExceptionMapperAbstract.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/mappers/ExceptionMapperAbstract.java @@ -19,6 +19,7 @@ package org.apache.isis.viewer.restfulobjects.server.mappers; import java.util.List; +import java.util.Optional; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; @@ -28,19 +29,18 @@ import javax.ws.rs.core.Response.ResponseBuilder; import javax.ws.rs.ext.ExceptionMapper; import org.apache.isis.applib.RecoverableException; +import org.apache.isis.commons.internal.exceptions._Exceptions; import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation; import org.apache.isis.viewer.restfulobjects.applib.RepresentationType; import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse; -import org.apache.isis.viewer.restfulobjects.server.IsisJaxrsServerPlugin; import org.apache.isis.viewer.restfulobjects.rendering.ExceptionWithBody; import org.apache.isis.viewer.restfulobjects.rendering.ExceptionWithHttpStatusCode; +import org.apache.isis.viewer.restfulobjects.server.IsisJaxrsServerPlugin; import org.apache.isis.viewer.restfulobjects.server.mappers.entity.ExceptionDetail; import org.apache.isis.viewer.restfulobjects.server.mappers.entity.ExceptionPojo; import org.apache.isis.viewer.restfulobjects.server.resources.serialization.SerializationStrategy; -import com.google.common.base.Optional; -import com.google.common.base.Throwables; -import com.google.common.collect.FluentIterable; +import static org.apache.isis.commons.internal.base._NullSafe.stream; public abstract class ExceptionMapperAbstract<T extends Throwable> implements ExceptionMapper<T> { @@ -87,7 +87,6 @@ public abstract class ExceptionMapperAbstract<T extends Throwable> implements Ex } private RestfulResponse.HttpStatusCode determineStatusCode(final T ex) { - final List<Throwable> chain = Throwables.getCausalChain(ex); RestfulResponse.HttpStatusCode statusCode; @@ -95,8 +94,10 @@ public abstract class ExceptionMapperAbstract<T extends Throwable> implements Ex if(statusCode!=null) { return statusCode; } + + final Optional<RecoverableException> recoverableIfAny = recoverableFor(ex); - if(!FluentIterable.from(chain).filter(RecoverableException.class).isEmpty()) { + if(recoverableIfAny.isPresent()) { statusCode = RestfulResponse.HttpStatusCode.OK; } else if(ex instanceof ExceptionWithHttpStatusCode) { ExceptionWithHttpStatusCode exceptionWithHttpStatusCode = (ExceptionWithHttpStatusCode) ex; @@ -108,12 +109,24 @@ public abstract class ExceptionMapperAbstract<T extends Throwable> implements Ex } private static String messageFor(final Throwable ex) { - final List<Throwable> chain = Throwables.getCausalChain(ex); - final Optional<RecoverableException> recoverableIfAny = - FluentIterable.from(chain).filter(RecoverableException.class).first(); + + final Optional<RecoverableException> recoverableIfAny = recoverableFor(ex); + return (recoverableIfAny.isPresent() ? recoverableIfAny.get() : ex).getMessage(); } + private static Optional<RecoverableException> recoverableFor(final Throwable ex) { + final List<Throwable> chain = _Exceptions.getCausalChain(ex); + + final Optional<RecoverableException> recoverableIfAny = stream(chain) + .filter(t->t instanceof RecoverableException) + .map(t->(RecoverableException)t) + .findFirst(); + + return recoverableIfAny; + } + + private ExceptionDetail detailIfRequired( final RestfulResponse.HttpStatusCode httpStatusCode, final Throwable ex) { diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java index 59826be..9c934ae 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java @@ -18,7 +18,6 @@ package org.apache.isis.viewer.restfulobjects.server.resources; import java.io.IOException; import java.io.InputStream; -import java.net.URL; import java.util.List; import javax.ws.rs.Consumes; @@ -33,9 +32,6 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.isis.commons.internal.base._Strings; -import com.google.common.io.Resources; - import org.apache.log4j.Logger; import org.apache.isis.applib.annotation.Where; @@ -46,6 +42,9 @@ import org.apache.isis.applib.layout.component.PropertyLayoutData; import org.apache.isis.applib.layout.grid.Grid; import org.apache.isis.applib.layout.links.Link; import org.apache.isis.applib.services.command.Command; +import org.apache.isis.commons.internal.base._Bytes; +import org.apache.isis.commons.internal.base._Strings; +import org.apache.isis.commons.internal.resources._Resources; import org.apache.isis.core.commons.url.UrlDecoderUtil; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.consent.Consent; @@ -243,12 +242,16 @@ public class DomainObjectResourceServerside extends ResourceAbstract implements byte[] toBytes() { String imageName = getImageName(); - URL resource = Resources.getResource(domainClass, imageName); + try { - return Resources.toByteArray(resource); + + final InputStream resource = _Resources.load(domainClass, imageName); + return _Bytes.of(resource); + } catch (IOException e) { return null; } + } } diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ImageResourceServerside.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ImageResourceServerside.java index e2569b7..764ddf9 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ImageResourceServerside.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ImageResourceServerside.java @@ -19,14 +19,15 @@ package org.apache.isis.viewer.restfulobjects.server.resources; import java.io.IOException; -import java.net.URL; +import java.io.InputStream; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; -import com.google.common.io.Resources; +import org.apache.isis.commons.internal.base._Bytes; +import org.apache.isis.commons.internal.resources._Resources; @Path("/image") public class ImageResourceServerside extends ResourceAbstract { @@ -36,8 +37,8 @@ public class ImageResourceServerside extends ResourceAbstract { @Produces("image/png") public Response image() throws IOException { - URL resource = Resources.getResource(getClass(), "SimpleObject.png"); - byte[] bytes = Resources.toByteArray(resource); + final InputStream resource = _Resources.load(getClass(), "SimpleObject.png"); + final byte[] bytes = _Bytes.of(resource); // Response.ResponseBuilder response = Response.ok(file); // response.header("Content-Disposition", diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/VersionReprRenderer.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/VersionReprRenderer.java index 7668d95..5b81a83 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/VersionReprRenderer.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/VersionReprRenderer.java @@ -18,12 +18,10 @@ */ package org.apache.isis.viewer.restfulobjects.server.resources; -import java.net.URL; -import java.nio.charset.Charset; +import java.io.InputStream; import java.util.Properties; -import com.google.common.io.Resources; - +import org.apache.isis.commons.internal.resources._Resources; import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation; import org.apache.isis.viewer.restfulobjects.applib.Rel; import org.apache.isis.viewer.restfulobjects.applib.RepresentationType; @@ -88,9 +86,9 @@ public class VersionReprRenderer extends ReprRendererAbstract<VersionReprRendere private static String versionFromManifest() { try { - URL resource = Resources.getResource(META_INF_POM_PROPERTIES); + final InputStream resource = _Resources.load(VersionReprRenderer.class, META_INF_POM_PROPERTIES); Properties p = new Properties(); - p.load(Resources.asCharSource(resource, Charset.defaultCharset()).openStream()); + p.load(resource); return p.getProperty("version"); } catch (final Exception ex) { return "UNKNOWN"; diff --git a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java index 323cd01..8cb7a01 100644 --- a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java +++ b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java @@ -24,14 +24,13 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.HttpHeaders; -import com.google.common.collect.Maps; - import org.jmock.Expectations; import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.commons.internal.context._Context; import org.apache.isis.config.IsisConfiguration; import org.apache.isis.core.commons.authentication.AuthenticationSession; @@ -151,7 +150,7 @@ public class ResourceContextTest_getArg { private void givenServletRequestParameterMapEmpty() { - final HashMap<Object, Object> parameterMap = Maps.newHashMap(); + final HashMap<Object, Object> parameterMap = _Maps.newHashMap(); context.checking(new Expectations() { { oneOf(mockHttpServletRequest).getParameterMap(); diff --git a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java index 204003b..deeabb3 100644 --- a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java +++ b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java @@ -27,14 +27,13 @@ import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import com.google.common.collect.Maps; - import org.jmock.Expectations; import org.jmock.auto.Mock; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.apache.isis.commons.internal.collections._Maps; import org.apache.isis.commons.internal.context._Context; import org.apache.isis.config.IsisConfiguration; import org.apache.isis.core.commons.authentication.AuthenticationSession; @@ -193,7 +192,7 @@ public abstract class ResourceContext_ensureCompatibleAcceptHeader_ContractTest } private void givenServletRequestParameterMapEmpty() { - final HashMap<Object, Object> parameterMap = Maps.newHashMap(); + final HashMap<Object, Object> parameterMap = _Maps.newHashMap(); context.checking(new Expectations() { { oneOf(mockHttpServletRequest).getParameterMap();