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 2018/02/14 15:52:51 UTC
[isis] branch ISIS-1779-jax-rs-2 updated (fd8670e -> 72f3452)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git.
discard fd8670e ISIS-1779 Transition to JAX-RS 2.0 Client API removed dependency on deprecated resteasy client api
discard b7497fe Merge branch 'ISIS-1744-update-to-dn-515' into dev/2.0.0-M2
discard ad6426f ISIS-1744: removes work-around code for prior to DN 5.1.5
discard d8709d1 ISIS-1744: updates to DN 5.1.5
discard efff23e ISIS-1767: fixes dependency convergence issue with com.sun.mail
discard 8cce64e Merge branch 'ISIS-1767-jee-7' into dev/2.0.0-M2
discard 32df2f1 ISIS-1756 remove reflective access to DN's EnhancementHelper since we've got a dedicated method instead
discard 549bb71 ISIS-1756 on shutdown purge any state associated with the current web-app classloader
discard 237ef69 ISIS-1755 veto ExceptionRecognizer on CDI scan
discard 5ea0f0c ISIS-1754 proper DN class-loading
discard 80a977f ISIS-1775 added license
discard 2bbcfbd ISIS-1775 Honor web-app's context path when configuring swagger.
discard 01f32e4 ISIS-1755 TomEE requires Service Providers to be public classes
discard 2914ee2 ISIS-1754 context aware class-loading for Isis
discard de01fbd ISIS-1756 utilize IsisWicketApplication's life-cycle instead of providing a life-cycle CDI Bean
discard 9661bc4 ISIS-1756 prevent SQLException on schema creation if config is missing
discard 4285449 ISIS-1756 - fix typo
discard 150f7c1 ISIS-1755 JEE 7+ allow coexistence of CDI and Isis' ServiceInjector
discard 21f780f ISIS-1756 JEE 7+ Isis App life-cycling
discard 8674bdb ISIS-1767 JEE 7+ added dependency on javaee-api to core/runtime
discard 0a15e71 Merge branch 'dev/2.0.0/ISIS-1276-dn-5-1' into dev/2.0.0-M2
discard fbd8ee1 ISIS-1728: uses typesafe queries for helloworld
discard 13c70c2 ISIS-1726: generalizes the logic that searches for @PersistenceCapable entities, to also take into account meta-annotations.
discard 380398c ISIS-1727: uses lambda in IsisSessionFactoryBuilder
discard 9fafe95 ISIS-1725: requires that an AppManifest is supplied (used to obtain list of entities).
discard 223957e ISIS-1724: removes the deprecated IsisJdoSupport in the jdo applib
discard c6be1eb ISIS-1723: removes jdo applib's Auditable interface and @Auditable annotation
discard ed5f61f ISIS-1276: fixes algorithm for lookup of datastore id's, at least
discard 14179e1 ISIS-1276: fixes compile issues in metamodel and runtime
discard b1ff901 ISIS-1276: updates applib, replaces references of TypesafeQuery to be instead JDOQLTypedQuery
discard a0da312 ISIS-1276: updates core to compile under JDK 1.8 only
discard 126c8e8 ISIS-1276: updates references for datanucleus.
add 6214c42 ISIS-1465: adds/refines scripts for cleaning up git tags
add 46b98af fixes verification instructions for running simpleapp
add 7512f2a [maven-release-plugin] prepare release isis-1.16.0
add e14326b [maven-release-plugin] prepare for next development iteration
add 806c110 ISIS-1465: updates simpleapp to use 1.16.0
add 63c3152 ISIS-1465: recreating simpleapp archetype
add 68a849f [maven-release-plugin] prepare release simpleapp-archetype-1.16.0
add c889c0f [maven-release-plugin] prepare for next development iteration
add 0cca70d ISIS-1465: updates helloworld app to use 1.16.0
add 2a0b21f ISIS-1465: recreating helloworld archetype
add 67546fa [maven-release-plugin] prepare release helloworld-archetype-1.16.0
add 8032c28 [maven-release-plugin] prepare for next development iteration
add 2e2ac1f ISIS-1465: fixes property in hellworld app.
add dac3f43 ISIS-1465: minor fix for release script
add ce18748 Merge branch 'release-1.16.0-RC1'
add 22589dc ISIS-1465: updates to website/docs
add 64e4609 ISIS-1465: further updates to website publish process
add 5ffc8fc ISIS-1465: further tweak to docs
add 66e719e ISIS-1465: improves the publish script
add 186e5b9 Merge branch 'dev/2.0.0-M1'
add 1a43c29 ISIS-1276: updates references for datanucleus.
add 89e40d5 ISIS-1276: updates core to compile under JDK 1.8 only
add 9fde3bd ISIS-1276: updates applib, replaces references of TypesafeQuery to be instead JDOQLTypedQuery
add 7ef159c ISIS-1276: fixes compile issues in metamodel and runtime
add 51feff4 ISIS-1276: fixes algorithm for lookup of datastore id's, at least
add fe5a844 ISIS-1723: removes jdo applib's Auditable interface and @Auditable annotation
add 6de02b1 ISIS-1724: removes the deprecated IsisJdoSupport in the jdo applib
add ed89008 ISIS-1725: requires that an AppManifest is supplied (used to obtain list of entities).
add ae46188 ISIS-1727: uses lambda in IsisSessionFactoryBuilder
add d92e8e6 ISIS-1726: generalizes the logic that searches for @PersistenceCapable entities, to also take into account meta-annotations.
add 750157a ISIS-1728: uses typesafe queries for helloworld
add 45ec904 Merge branch 'dev/2.0.0/ISIS-1276-dn-5-1' into dev/2.0.0-M2
add edc2491 ISIS-1767 JEE 7+ added dependency on javaee-api to core/runtime
add 70f923d ISIS-1756 JEE 7+ Isis App life-cycling
add 599858a ISIS-1755 JEE 7+ allow coexistence of CDI and Isis' ServiceInjector
add d0272e1 ISIS-1756 - fix typo
add 591a000 ISIS-1756 prevent SQLException on schema creation if config is missing
add b46ddfc ISIS-1756 utilize IsisWicketApplication's life-cycle instead of providing a life-cycle CDI Bean
add 09ff21f ISIS-1754 context aware class-loading for Isis
add a623bfd ISIS-1755 TomEE requires Service Providers to be public classes
add ae12a79 ISIS-1775 Honor web-app's context path when configuring swagger.
add a76c441 ISIS-1775 added license
add 2e28d44 ISIS-1754 proper DN class-loading
add 14f99d6 ISIS-1755 veto ExceptionRecognizer on CDI scan
add b72a01c ISIS-1756 on shutdown purge any state associated with the current web-app classloader
add 4b89ae7 ISIS-1756 remove reflective access to DN's EnhancementHelper since we've got a dedicated method instead
add fe41a1d Merge branch 'ISIS-1767-jee-7' into dev/2.0.0-M2
add 44429ea ISIS-1767: fixes dependency convergence issue with com.sun.mail
add 66c4a7d ISIS-1744: updates to DN 5.1.5
add df03513 ISIS-1744: removes work-around code for prior to DN 5.1.5
add 6551c42 Merge branch 'ISIS-1744-update-to-dn-515' into dev/2.0.0-M2
add 3a07319 ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
new 72f3452 ISIS-1779 Transition to JAX-RS 2.0 Client API removed dependency on deprecated resteasy client api
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (fd8670e)
\
N -- N -- N refs/heads/ISIS-1779-jax-rs-2 (72f3452)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
adocs/documentation/pom.xml | 6 +-
.../documentation/src/main/asciidoc/doap_isis.rdf | 24 ++++++
.../documentation/src/main/asciidoc/downloads.adoc | 12 +--
.../guides/cgcom/_cgcom_cutting-a-release.adoc | 30 ++++----
.../cgcom/_cgcom_post-release-successful.adoc | 90 ++++++++++++++++++----
.../cgcom/_cgcom_post-release-unsuccessful.adoc | 16 ++--
.../guides/cgcom/_cgcom_verifying-releases.adoc | 6 +-
...ugfun_getting-started_helloworld-archetype.adoc | 2 +-
.../tg/_tg_stop-scaffolding-start-coding.adoc | 2 +-
.../main/asciidoc/release-notes/release-notes.adoc | 2 +-
core/applib/pom.xml | 2 +-
core/integtestsupport/pom.xml | 2 +-
core/log4j/pom.xml | 2 +-
core/maven-plugin/pom.xml | 2 +-
core/mavendeps/intellij/pom.xml | 2 +-
core/mavendeps/testing/pom.xml | 2 +-
core/mavendeps/webapp/pom.xml | 2 +-
core/metamodel/pom.xml | 2 +-
core/pom.xml | 70 ++++++++---------
core/runtime/pom.xml | 2 +-
core/schema/pom.xml | 2 +-
core/security-shiro/pom.xml | 6 +-
core/security/pom.xml | 2 +-
core/specsupport/pom.xml | 2 +-
core/unittestsupport/pom.xml | 2 +-
core/viewer-restfulobjects-applib/pom.xml | 2 +-
core/viewer-restfulobjects-rendering/pom.xml | 2 +-
core/viewer-restfulobjects-server/pom.xml | 2 +-
core/viewer-wicket-applib/pom.xml | 2 +-
core/viewer-wicket-impl/pom.xml | 2 +-
core/viewer-wicket-model/pom.xml | 2 +-
core/viewer-wicket-ui/pom.xml | 2 +-
core/webserver/pom.xml | 2 +-
core/wrapper/pom.xml | 2 +-
example/application/helloworld/pom.xml | 6 +-
example/application/simpleapp/application/pom.xml | 2 +-
.../application/simpleapp/module-simple/pom.xml | 2 +-
example/application/simpleapp/pom.xml | 5 +-
example/application/simpleapp/webapp/pom.xml | 2 +-
example/archetype/helloworld/pom.xml | 4 +-
.../src/main/resources/archetype-resources/pom.xml | 76 ++++++++++++++----
.../application/HelloWorldAppManifest.java | 8 +-
...sis.properties => isis-non-changing.properties} | 10 ++-
.../domainapp/application}/menubars.layout.xml | 9 ++-
.../main/java/domainapp/dom/HelloWorldModule.java | 6 +-
.../java/domainapp/dom/impl/HelloWorldObject.java | 41 +++++-----
.../java/domainapp/dom/impl/HelloWorldObjects.java | 24 +++---
.../src/main/webapp/WEB-INF/isis.properties | 22 ++++--
.../src/main/webapp/WEB-INF/logging.properties | 28 ++++---
.../src/main/webapp/about/index.html | 2 +-
.../src/main/webapp/swagger-ui/index.html | 6 +-
.../dom/impl/HelloWorldObjectTest_delete.java | 2 +-
.../dom/impl/HelloWorldObjectTest_updateName.java | 2 +-
.../resources/projects/basic/archetype.properties | 2 +-
example/archetype/simpleapp/pom.xml | 4 +-
.../META-INF/maven/archetype-metadata.xml | 7 +-
.../archetype-resources}/application/.gitignore | 0
.../archetype-resources/application/lib/.gitignore | 5 --
...arDown.java => DomainAppApplicationModule.java} | 17 ++--
...DomainAppApplicationModuleFixtureSubmodule.java | 26 -------
...mainAppFixtureScriptsSpecificationProvider.java | 1 -
.../fixture/scenarios/DomainAppDemo.java | 25 +++---
.../application/manifest/DomainAppAppManifest.java | 21 ++---
.../manifest/DomainAppAppManifestWithFixtures.java | 9 ++-
.../application/manifest/menubars.layout.xml | 3 +
...omainAppApplicationModuleServicesSubmodule.java | 26 -------
.../services/homepage/HomePageViewModel.java | 6 +-
.../services/homepage/HomePageViewModel.layout.xml | 1 +
...sis.properties => isis-non-changing.properties} | 16 ++--
.../manifest/persistor_datanucleus.properties | 10 ++-
.../bdd/specglue/BootstrappingGlue.java | 20 ++---
.../bdd/specglue/CatalogOfFixturesGlue.java | 12 ++-
.../{RunIntegBddSpecs.java => RunBddSpecs.java} | 5 +-
.../SimpleObjectSpec_listAllAndCreate.feature | 5 +-
.../integtests/DomainAppIntegTestAbstract.java | 13 ++--
.../application/integtests/Smoke_IntegTest.java | 21 +----
.../src/test/resources/cucumber.properties | 4 +
.../archetype-resources/module-simple/.gitignore | 3 +-
...leModuleDomSubmodule.java => SimpleModule.java} | 21 ++++-
.../modules/simple/SimpleModuleManifest.java | 15 ++--
.../modules/simple/dom/impl/SimpleObject.java | 51 ++++++------
.../{SimpleObjectMenu.java => SimpleObjects.java} | 37 +++++++--
.../fixture/SimpleModuleFixtureSubmodule.java | 26 -------
...pleObjectData.java => SimpleObjectBuilder.java} | 51 ++++++------
.../simple/fixture/SimpleObject_persona.java | 9 ++-
.../fixture/scenario/CreateSimpleObjects.java | 80 -------------------
.../fixture/teardown/SimpleModuleTearDown.java | 39 ----------
.../modules/simple/dom/impl/SimpleObject_Test.java | 2 +-
...epository_Test.java => SimpleObjects_Test.java} | 28 +++----
.../integtests/SimpleModuleIntegTestAbstract.java | 14 ++--
.../tests/SimpleObjectMenu_IntegTest.java | 56 ++++----------
.../integtests/tests/SimpleObject_IntegTest.java | 40 +++-------
.../simple/specglue/SimpleObjectMenuGlue.java | 24 +++---
.../src/main/resources/archetype-resources/pom.xml | 27 ++++---
.../resources/archetype-resources/webapp/pom.xml | 5 --
.../webapp/src/main/webapp/WEB-INF/isis.properties | 25 +++---
.../src/main/webapp/WEB-INF/logging.properties | 28 ++++---
.../webapp/src/main/webapp/about/index.html | 2 +-
.../webapp/src/main/webapp/swagger-ui/index.html | 6 +-
.../resources/projects/basic/archetype.properties | 2 +-
pom.xml | 2 +-
scripts/clean-up-tags-local.sh | 2 +-
scripts/clean-up-tags-remote.sh | 7 +-
scripts/ls-tags-remote.sh | 10 +++
scripts/promoterctag.sh | 1 +
105 files changed, 686 insertions(+), 753 deletions(-)
rename example/archetype/helloworld/src/main/resources/archetype-resources/src/main/java/domainapp/application/{isis.properties => isis-non-changing.properties} (85%)
copy {core/metamodel/src/test/resources/org/apache/isis/core/metamodel/services/menubars => example/archetype/helloworld/src/main/resources/archetype-resources/src/main/java/domainapp/application}/menubars.layout.xml (94%)
copy example/{application/simpleapp => archetype/simpleapp/src/main/resources/archetype-resources}/application/.gitignore (100%)
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/lib/.gitignore
rename example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/{fixture/teardown/DomainAppTearDown.java => DomainAppApplicationModule.java} (70%)
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/DomainAppApplicationModuleFixtureSubmodule.java
copy example/{application/simpleapp => archetype/simpleapp/src/main/resources/archetype-resources}/application/src/main/java/domainapp/application/manifest/menubars.layout.xml (98%)
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/services/DomainAppApplicationModuleServicesSubmodule.java
rename example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/resources/domainapp/application/manifest/{isis.properties => isis-non-changing.properties} (92%)
rename example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specs/{RunIntegBddSpecs.java => RunBddSpecs.java} (95%)
create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/resources/cucumber.properties
rename example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/{dom/SimpleModuleDomSubmodule.java => SimpleModule.java} (68%)
rename example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/{SimpleObjectMenu.java => SimpleObjects.java} (65%)
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleModuleFixtureSubmodule.java
rename example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/{scenario/SimpleObjectData.java => SimpleObjectBuilder.java} (58%)
copy example/{application/simpleapp => archetype/simpleapp/src/main/resources/archetype-resources}/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java (88%)
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/scenario/CreateSimpleObjects.java
delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/teardown/SimpleModuleTearDown.java
rename example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/{SimpleObjectRepository_Test.java => SimpleObjects_Test.java} (78%)
create mode 100644 scripts/ls-tags-remote.sh
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 01/01: ISIS-1779 Transition to JAX-RS 2.0 Client API removed
dependency on deprecated resteasy client api
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-1779-jax-rs-2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 72f34526c4880bca27376178b22c9aed4939ca54
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Nov 19 15:20:44 2017 +0100
ISIS-1779 Transition to JAX-RS 2.0 Client API
removed dependency on deprecated resteasy client api
---
core/applib/pom.xml | 9 +-
core/pom.xml | 18 ++-
.../core/runtime/system/context/IsisContext.java | 13 ++-
.../persistence/PersistenceSessionFactory.java | 40 +++----
.../apache/isis/viewer/legacy/ClientExecutor.java | 123 +++++++++++++++++++++
.../ClientRequest.java} | 36 +++---
.../ClientRequestFactory.java} | 45 ++++----
.../apache/isis/viewer/legacy/RestEasyLegacy.java | 89 +++++++++++++++
.../restfulobjects/applib/LinkRepresentation.java | 3 +-
.../restfulobjects/applib/RestfulHttpMethod.java | 2 +-
.../applib/client/ClientRequestConfigurer.java | 15 +--
.../applib/client/RestfulClient.java | 32 ++----
.../applib/client/RestfulRequest.java | 10 +-
.../applib/client/RestfulResponse.java | 2 +
.../applib/domainobjects/DomainObjectResource.java | 30 +++--
.../domainobjects/DomainServiceResource.java | 14 +--
.../applib/domaintypes/DomainTypeResource.java | 19 ++--
.../applib/homepage/HomePageResource.java | 12 +-
.../restfulobjects/applib/user/UserResource.java | 6 +-
.../restfulobjects/applib/util/JsonMapper.java | 6 +-
.../applib/version/VersionResource.java | 3 +-
.../viewer/restfulobjects/rendering/Responses.java | 22 +++-
.../conneg/IsisPrettyPrintingProcessor.java | 2 +-
.../PreProcessInterceptorForIsisSession.java | 12 +-
24 files changed, 403 insertions(+), 160 deletions(-)
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 7bf2b9b..c33e221 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -74,10 +74,17 @@
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_1.0_spec</artifactId>
</dependency>
+
+ <!-- replaced since Isis 2.0.0 by org.jboss.resteasy:jaxrs-api
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
- </dependency>
+ </dependency> -->
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.axonframework</groupId>
diff --git a/core/pom.xml b/core/pom.xml
index c5cdc8d..ebd504f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -134,7 +134,12 @@
<!-- using 2.3.3 throws SQL exception in simpleapp integtests -->
<hsqldb.version>2.3.4</hsqldb.version>
<log4jdbc-remix.version>0.2.7</log4jdbc-remix.version>
- <resteasy-jaxrs.version>3.0.24.Final</resteasy-jaxrs.version>
+
+ <!-- for JEE 7 JAX-RS API 2.0 -->
+ <!-- <resteasy-jaxrs.version>3.1.4.Final</resteasy-jaxrs.version> -->
+
+ <!-- for JEE 8 JAX-RS API 2.1 -->
+ <resteasy-jaxrs.version>4.0.0.Beta1</resteasy-jaxrs.version>
<jetty.version>9.4.3.v20170317</jetty.version>
@@ -180,7 +185,11 @@
<javax-mail.version>1.4.7</javax-mail.version>
+ <!-- replaced since Isis 2.0.0 by jboss-jaxrs-api
<jboss-jaxrs-api_2.0_spec.version>1.0.0.Final</jboss-jaxrs-api_2.0_spec.version>
+ -->
+ <jboss-jaxrs-api.version>3.0.12.Final</jboss-jaxrs-api.version>
+
</properties>
<scm>
@@ -1947,11 +1956,18 @@ ${license.additional-notes}
<version>${geronimo-jcdi_1.0_spec.version}</version>
</dependency>
+ <!-- replaced since Isis 2.0.0 by org.jboss.resteasy:jaxrs-api
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
<version>${jboss-jaxrs-api_2.0_spec.version}</version>
</dependency>
+ -->
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ <version>${jboss-jaxrs-api.version}</version>
+ </dependency>
<!-- javax APIs -->
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
index 059914b..17ebab6 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/IsisContext.java
@@ -19,14 +19,15 @@
package org.apache.isis.core.runtime.system.context;
+import org.apache.log4j.BasicConfigurator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
import org.apache.isis.core.runtime.system.session.IsisSession;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder;
-import org.apache.log4j.BasicConfigurator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Simply a static field holding the {@link IsisSessionFactory} singleton, and convenience methods to obtain the
@@ -87,10 +88,10 @@ public final class IsisContext {
}
/**
- * life-cycle exit point
+ * Marks the end of this IsisContext's life-cycle.
* <p>
* Destroys this context and clears any state associated with it.
- * It marks the end of IsisContext's life-cycle. Subsequent calls have no effect.
+ * Subsequent calls have no effect.
* </p>
*/
public static void destroy() {
@@ -127,7 +128,7 @@ public final class IsisContext {
/**
* TODO [andi-huber] not sure if required, initial idea was to force log4j
- * re-configuration on a undeploy/deploy cycle
+ * re-configuration on an undeploy/deploy cycle
*/
private static void resetLogging() {
org.apache.log4j.Logger.getRootLogger().removeAllAppenders();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
index 989c989..67de81f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
@@ -53,18 +53,12 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi
private static final Logger LOG = LoggerFactory.getLogger(PersistenceSessionFactory.class);
- //region > constructor
-
private final IsisConfigurationDefault configuration;
public PersistenceSessionFactory(final IsisConfigurationDefault isisConfiguration) {
this.configuration = isisConfiguration;
}
- //endregion
-
- //region > init, createDataNucleusApplicationComponents
-
public static final String JDO_OBJECTSTORE_CONFIG_PREFIX = "isis.persistor.datanucleus"; // specific to the JDO objectstore
public static final String DATANUCLEUS_CONFIG_PREFIX = "isis.persistor.datanucleus.impl"; // reserved for datanucleus' own config props
@@ -159,23 +153,32 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi
props.put(key, value);
}
}
- //endregion
- //region > shutdown
+ /**
+ * Marks the end of this PersistenceSessionFactory's life-cycle.
+ *
+ * <p>
+ * From <a href="http://www.datanucleus.org/products/datanucleus/jdo/persistence.html">JDO Persistence Guide</a> ...
+ * <br/>
+ * Since the PMF has significant resources associated with it, it should always be closed
+ * when you no longer need to perform any more persistence operations. For most operations
+ * this will be when closing your application.
+ * </p>
+ *
+ */
@Programmatic
public final void shutdown() {
+ if(!isInitialized()) {
+ return;
+ }
+
//XXX ISIS-1756 purge any DataNucleus State
if(applicationComponents != null) {
applicationComponents.shutdown();
- applicationComponents = null;
+ applicationComponents = null;
}
}
- //endregion
-
-
- //region > createPersistenceSession
-
/**
* Called by {@link org.apache.isis.core.runtime.system.session.IsisSessionFactory#openSession(AuthenticationSession)}.
*/
@@ -194,12 +197,6 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi
fixturesInstalledFlag);
}
-
-
- //endregion
-
- //region > FixturesInstalledFlag impl
-
private Boolean fixturesInstalled;
@Programmatic
@@ -214,7 +211,4 @@ public class PersistenceSessionFactory implements ApplicationScopedComponent, Fi
this.fixturesInstalled = fixturesInstalled;
}
- //endregion
-
-
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java
new file mode 100644
index 0000000..bbe683a
--- /dev/null
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientExecutor.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.legacy;
+
+import java.net.URI;
+import java.util.AbstractMap;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.Invocation.Builder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ * @author ahuber@apache.org
+ *
+ */
+public interface ClientExecutor {
+
+ ClientRequest createRequest(UriBuilder uriBuilder);
+ WebTarget webTarget(URI baseUri);
+
+ static ClientExecutor of(final Client client) {
+ return new ClientExecutor() {
+
+ @Override
+ public ClientRequest createRequest(UriBuilder uriBuilder) {
+
+ return new ClientRequest() {
+
+ final WebTarget target = client.target(uriBuilder);
+
+ final List<MediaType> accept = new ArrayList<>();
+ final List<Map.Entry<String, String>> header = new ArrayList<>();
+
+ private Entity<String> payload;
+
+ // TODO [andi-huber] just a wild guess
+ private String method = "get";
+
+ @Override
+ public String getHttpMethod() {
+ return method;
+ }
+
+ @Override
+ public void setHttpMethod(String method) {
+ this.method = method;
+ }
+
+ @Override
+ public void accept(MediaType mediaType) {
+ accept.add(mediaType);
+ }
+
+ @Override
+ public void header(String headerName, String value) {
+ header.add(new AbstractMap.SimpleEntry<String, String>(headerName, value));
+ }
+
+ @Override
+ public void addQueryParameter(String param, String arg) {
+ target.queryParam(param, arg);
+ }
+
+ @Override
+ public void jsonPayload(String jsonString) {
+ payload = Entity.json(jsonString);
+ }
+
+ @Override
+ public Response execute() {
+ final Builder builder = target.request();
+
+ accept.stream()
+ .forEach(builder::accept);
+ header.stream()
+ .forEach(e->builder.header(e.getKey(), e.getValue()));
+
+ final Invocation invocation = payload==null
+ ? builder.build(method)
+ : builder.build(method, payload);
+
+ return invocation.invoke();
+ }
+
+ };
+ }
+
+ @Override
+ public WebTarget webTarget(URI baseUri) {
+ return client.target(baseUri);
+ }
+
+ };
+ }
+
+
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
similarity index 59%
copy from core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
copy to core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
index 535fc72..dd167fa 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequest.java
@@ -16,30 +16,30 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.restfulobjects.applib.version;
+package org.apache.isis.viewer.legacy;
-import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
-@Path("/version")
-public interface VersionResource {
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ * @author ahuber@apache.org
+ *
+ */
+public interface ClientRequest {
- @GET
- @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
- public Response version();
+ void accept(MediaType mediaType);
- @DELETE
- public Response deleteVersionNotAllowed();
+ void header(String headerName, String value);
- @PUT
- public Response putVersionNotAllowed();
+ void setHttpMethod(String httpMethod);
+ String getHttpMethod();
+
+ void addQueryParameter(String param, String arg);
+
+ void jsonPayload(String jsonString);
- @POST
- public Response postVersionNotAllowed();
+ Response execute();
-}
\ No newline at end of file
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
similarity index 55%
copy from core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
copy to core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
index 535fc72..1c9ae07 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/ClientRequestFactory.java
@@ -16,30 +16,37 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.restfulobjects.applib.version;
+package org.apache.isis.viewer.legacy;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import java.net.URI;
-import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ * @author ahuber@apache.org
+ *
+ */
+public interface ClientRequestFactory {
-@Path("/version")
-public interface VersionResource {
+ <T> T createProxy(Class<T> clazz);
- @GET
- @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
- public Response version();
+ URI getBase();
- @DELETE
- public Response deleteVersionNotAllowed();
+ static ClientRequestFactory of(final ClientExecutor clientExecutor, final URI baseUri) {
+
+ return new ClientRequestFactory() {
- @PUT
- public Response putVersionNotAllowed();
+ @Override
+ public <T> T createProxy(Class<T> clazz) {
+ return RestEasyLegacy.proxy(clientExecutor.webTarget(baseUri), clazz);
+ }
- @POST
- public Response postVersionNotAllowed();
+ @Override
+ public URI getBase() {
+ return baseUri;
+ }
+
+ };
+ }
-}
\ No newline at end of file
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java
new file mode 100644
index 0000000..6e6bac9
--- /dev/null
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/legacy/RestEasyLegacy.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.legacy;
+
+import java.lang.reflect.Method;
+
+import javax.ws.rs.NotSupportedException;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
+
+/**
+ * Compatibility layer, legacy of deprecated resteasy client API.
+ *
+ * @author ahuber@apache.org
+ *
+ */
+public class RestEasyLegacy {
+
+ public static String getEntityAsStringFrom(Response response) {
+
+ final Object result = response.getEntity();
+
+ if(result == null)
+ return null;
+
+ if(result instanceof String) {
+ return (String) result;
+ }
+
+ // TODO [andi-huber] just a wild guess
+ return response.readEntity(String.class);
+
+ // legacy code ...
+ // final ClientResponse<?> clientResponse = (ClientResponse<?>) response;
+ // return clientResponse.getEntity(String.class);
+ }
+
+ public static void setReturnTypeToString(Response response) {
+
+ // TODO [andi-huber] why is this needed at all?
+
+ // legacy code ...
+ // final BaseClientResponse<String> restEasyResponse = (BaseClientResponse<String>) response;
+ // restEasyResponse.setReturnType(String.class);
+
+ System.err.println("WARN RestEasyLegacy - setReturnTypeToString(Response) not implemented!");
+
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T proxy(WebTarget webTarget, Class<T> clazz) {
+
+ // legacy of
+ // final org.jboss.resteasy.client.jaxrs.ResteasyWebTarget target =
+ // (org.jboss.resteasy.client.jaxrs.ResteasyWebTarget) webTarget;
+ // return target.proxy(clazz);
+
+ try {
+ // [andi-huber] resort to reflection, since we wan't to get rid of resteasy legacy
+ // first step is to remove compile time dependencies
+
+ final Method proxyMethod =
+ webTarget.getClass().getMethod("proxy", new Class<?>[]{Class.class});
+ return (T) proxyMethod.invoke(webTarget, clazz);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ throw new NotSupportedException("proxy not supported by this JAX-RS implementation");
+
+ }
+
+}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
index a883fe6..3b4d691 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/LinkRepresentation.java
@@ -23,10 +23,11 @@ import javax.ws.rs.core.MediaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import org.apache.isis.viewer.legacy.ClientExecutor;
import org.apache.isis.viewer.restfulobjects.applib.client.ClientRequestConfigurer;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
-import org.jboss.resteasy.client.ClientExecutor;
public final class LinkRepresentation extends JsonRepresentation {
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
index 6819e7b..b7055b2 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/RestfulHttpMethod.java
@@ -18,8 +18,8 @@
*/
package org.apache.isis.viewer.restfulobjects.applib;
+import org.apache.isis.viewer.legacy.ClientRequest;
import org.apache.isis.viewer.restfulobjects.applib.client.ClientRequestConfigurer;
-import org.jboss.resteasy.client.ClientRequest;
public enum RestfulHttpMethod {
GET(javax.ws.rs.HttpMethod.GET, ArgStrategy.QUERY_STRING),
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
index 61b9240..b98f8f0 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
@@ -21,16 +21,15 @@ package org.apache.isis.viewer.restfulobjects.applib.client;
import java.util.Map;
import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriBuilder;
+import org.apache.isis.viewer.legacy.ClientExecutor;
+import org.apache.isis.viewer.legacy.ClientRequest;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.LinkRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.RequestParameter;
import org.apache.isis.viewer.restfulobjects.applib.util.UrlEncodingUtils;
-import org.jboss.resteasy.client.ClientExecutor;
-import org.jboss.resteasy.client.ClientRequest;
import org.jboss.resteasy.specimpl.ResteasyUriBuilder;
/**
@@ -45,7 +44,10 @@ import org.jboss.resteasy.specimpl.ResteasyUriBuilder;
*/
public class ClientRequestConfigurer {
- public static ClientRequestConfigurer create(final ClientExecutor executor, final String uriTemplate) {
+ public static ClientRequestConfigurer create(
+ final ClientExecutor executor,
+ final String uriTemplate)
+ {
final UriBuilder uriBuilder = new ResteasyUriBuilder().uriTemplate(uriTemplate);
final ClientRequest clientRequest = executor.createRequest(uriBuilder);
return new ClientRequestConfigurer(clientRequest, uriBuilder);
@@ -127,7 +129,7 @@ public class ClientRequestConfigurer {
* {@link RestfulHttpMethod#setUpArgs(ClientRequestConfigurer, JsonRepresentation)}
*/
public ClientRequestConfigurer body(final JsonRepresentation requestArgs) {
- clientRequest.body(MediaType.APPLICATION_JSON_TYPE, requestArgs.toString());
+ clientRequest.jsonPayload(requestArgs.toString());
return this;
}
@@ -149,12 +151,11 @@ public class ClientRequestConfigurer {
* {@link RestfulHttpMethod#setUpArgs(ClientRequestConfigurer, JsonRepresentation)}
*/
public ClientRequestConfigurer queryArgs(final JsonRepresentation requestArgs) {
- final MultivaluedMap<String, String> queryParameters = clientRequest.getQueryParameters();
for (final Map.Entry<String, JsonRepresentation> entry : requestArgs.mapIterable()) {
final String param = entry.getKey();
final JsonRepresentation argRepr = entry.getValue();
final String arg = UrlEncodingUtils.urlEncode(argRepr.asArg());
- queryParameters.add(param, arg);
+ clientRequest.addQueryParameter(param, arg);
}
return this;
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
index 90b3a1f..ee5985f 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulClient.java
@@ -20,17 +20,13 @@ package org.apache.isis.viewer.restfulobjects.applib.client;
import java.net.URI;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.http.client.HttpClient;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
-import org.jboss.resteasy.client.ClientExecutor;
-import org.jboss.resteasy.client.ClientRequestFactory;
-import org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor;
-
+import org.apache.isis.viewer.legacy.ClientExecutor;
+import org.apache.isis.viewer.legacy.ClientRequestFactory;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.LinkRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod;
@@ -55,25 +51,17 @@ public class RestfulClient {
/**
- * Using {@link ApacheHttpClient4Executor} and {@link DefaultHttpClient}.
+ * Using {@link javax.ws.rs.client.Client}.
*/
public RestfulClient(final URI baseUri) {
- this(baseUri, new ThreadSafeClientConnManager());
- }
-
- /**
- * Using {@link ApacheHttpClient4Executor} and {@link DefaultHttpClient}.
- */
- public RestfulClient(final URI baseUri, ClientConnectionManager clientConnectionManager) {
- this(baseUri, new DefaultHttpClient(clientConnectionManager));
+ this(baseUri, ClientBuilder.newClient());
}
-
/**
- * Using {@link ApacheHttpClient4Executor} and specified {@link HttpClient}.
+ * Using {@link javax.ws.rs.client.Client}.
*/
- public RestfulClient(final URI baseUri, HttpClient client) {
- this(baseUri, new ApacheHttpClient4Executor(client));
+ public RestfulClient(final URI baseUri, Client client) {
+ this(baseUri, ClientExecutor.of(client));
}
/**
@@ -81,7 +69,7 @@ public class RestfulClient {
*/
public RestfulClient(final URI baseUri, final ClientExecutor clientExecutor) {
this.executor = clientExecutor;
- this.clientRequestFactory = new ClientRequestFactory(clientExecutor, baseUri);
+ this.clientRequestFactory = ClientRequestFactory.of(clientExecutor, baseUri);
this.homePageResource = clientRequestFactory.createProxy(HomePageResource.class);
this.userResource = clientRequestFactory.createProxy(UserResource.class);
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
index 77e0ac2..fbdbd5a 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulRequest.java
@@ -25,8 +25,9 @@ import java.util.Map;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.google.common.collect.Maps;
-import org.jboss.resteasy.client.ClientRequest;
-import org.jboss.resteasy.client.core.BaseClientResponse;
+
+import org.apache.isis.viewer.legacy.ClientRequest;
+import org.apache.isis.viewer.legacy.RestEasyLegacy;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.util.Parser;
@@ -173,10 +174,7 @@ public final class RestfulRequest {
final ClientRequest clientRequest = clientRequestConfigurer.getClientRequest();
final Response response = clientRequest.execute();
- // this is a bit hacky
- @SuppressWarnings("unchecked")
- final BaseClientResponse<String> restEasyResponse = (BaseClientResponse<String>) response;
- restEasyResponse.setReturnType(String.class);
+ RestEasyLegacy.setReturnTypeToString(response);
return RestfulResponse.ofT(response);
} catch (final Exception ex) {
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulResponse.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulResponse.java
index a900a8d..2431a9e 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulResponse.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/RestfulResponse.java
@@ -369,4 +369,6 @@ public class RestfulResponse<T> {
return "RestfulResponse [httpStatusCode=" + httpStatusCode + "]";
}
+
+
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
index aa29ef7..2095718 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainObjectResource.java
@@ -32,8 +32,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/objects")
@@ -46,7 +44,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response persist(@PathParam("domainType") String domainType, final InputStream object);
// //////////////////////////////////////////////////////////
@@ -60,7 +58,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response object(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId);
@PUT
@@ -70,7 +68,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response object(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, final InputStream arguments);
@DELETE
@@ -111,7 +109,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response propertyDetails(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId);
@PUT
@@ -121,7 +119,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response modifyProperty(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId, final InputStream arguments);
@DELETE
@@ -131,7 +129,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_PROPERTY, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response clearProperty(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("propertyId") final String propertyId);
@POST
@@ -150,7 +148,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response accessCollection(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId);
@PUT
@@ -160,7 +158,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response addToSet(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId, final InputStream arguments);
@POST
@@ -170,7 +168,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response addToList(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId, final InputStream arguments);
@DELETE
@@ -180,7 +178,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_COLLECTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response removeFromCollection(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("collectionId") final String collectionId);
// //////////////////////////////////////////////////////////
@@ -194,7 +192,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_ACTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_ACTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response actionPrompt(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId);
@DELETE
@@ -220,7 +218,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionQueryOnly(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, @QueryParam("x-isis-querystring") final String xIsisQueryString);
@PUT
@@ -230,7 +228,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionIdempotent(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@POST
@@ -240,7 +238,7 @@ public interface DomainObjectResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeAction(@PathParam("domainType") String domainType, @PathParam("instanceId") final String instanceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@DELETE
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
index c11cdb7..d472e56 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domainobjects/DomainServiceResource.java
@@ -32,8 +32,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/services")
@@ -42,7 +40,7 @@ public interface DomainServiceResource {
@GET
@Path("/")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_LIST, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response services();
@DELETE
@@ -67,7 +65,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response service(@PathParam("serviceId") final String serviceId);
@DELETE
@@ -94,7 +92,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT_ACTION, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_OBJECT_ACTION, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response actionPrompt(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId);
@DELETE
@@ -127,7 +125,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionQueryOnly(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, @QueryParam("x-isis-querystring") final String xIsisQueryString);
@PUT
@@ -137,7 +135,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeActionIdempotent(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@POST
@@ -147,7 +145,7 @@ public interface DomainServiceResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_ACTION_RESULT, RestfulMediaType.APPLICATION_XML_ERROR
})
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response invokeAction(@PathParam("serviceId") final String serviceId, @PathParam("actionId") final String actionId, final InputStream arguments);
@DELETE
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
index fde2a14..d19a300 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/domaintypes/DomainTypeResource.java
@@ -26,8 +26,6 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/domain-types")
@@ -40,7 +38,7 @@ public interface DomainTypeResource {
@GET
@Path("/")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_LIST })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypes();
// /////////////////////////////////////////////////////
@@ -50,7 +48,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_DOMAIN_TYPE })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainType(@PathParam("domainType") final String domainType);
@GET
@@ -59,30 +57,31 @@ public interface DomainTypeResource {
MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_LAYOUT_BS3,
MediaType.APPLICATION_XML, RestfulMediaType.APPLICATION_XML_LAYOUT_BS3
})
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response layout(@PathParam("domainType") final String domainType);
@GET
@Path("/{domainType}/properties/{propertyId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_PROPERTY_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeProperty(@PathParam("domainType") final String domainType, @PathParam("propertyId") final String propertyId);
@GET
@Path("/{domainType}/collections/{collectionId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_COLLECTION_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeCollection(@PathParam("domainType") final String domainType, @PathParam("collectionId") final String collectionId);
@GET
@Path("/{domainType}/actions/{actionId}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeAction(@PathParam("domainType") final String domainType, @PathParam("actionId") final String actionId);
@GET
@Path("/{domainType}/actions/{actionId}/params/{paramNum}")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_ACTION_PARAMETER_DESCRIPTION })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response typeActionParam(@PathParam("domainType") final String domainType, @PathParam("actionId") final String actionId, @PathParam("paramNum") final String paramName);
// //////////////////////////////////////////////////////////
@@ -92,7 +91,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}/isSubtypeOf/invoke")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypeIsSubtypeOf(
@PathParam("domainType") final String domainType,
@QueryParam("supertype") String superType, // simple style
@@ -102,7 +101,7 @@ public interface DomainTypeResource {
@GET
@Path("/{domainType}/isSupertypeOf/invoke")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_TYPE_ACTION_RESULT, RestfulMediaType.APPLICATION_JSON_ERROR })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public abstract Response domainTypeIsSupertypeOf(
@PathParam("domainType") final String domainType,
@QueryParam("supertype") String superType, // simple style
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
index 497ef69..a502d34 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/homepage/HomePageResource.java
@@ -18,19 +18,23 @@
*/
package org.apache.isis.viewer.restfulobjects.applib.homepage;
-import javax.ws.rs.*;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
@Path("/")
public interface HomePageResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_HOME_PAGE })
- @ClientResponseType(entityType = String.class)
+ //@ClientResponseType(entityType = String.class)
public Response homePage();
@DELETE
@@ -49,7 +53,7 @@ public interface HomePageResource {
@GET
@Path("/notAuthenticated")
@Produces({ MediaType.APPLICATION_JSON })
- @ClientResponseType(entityType = String.class)
+ //@ClientResponseType(entityType = String.class)
public Response notAuthenticated();
}
\ No newline at end of file
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
index afcc179..9d02419 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/user/UserResource.java
@@ -27,8 +27,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.jboss.resteasy.annotations.ClientResponseType;
-
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@Path("/user")
@@ -36,7 +34,7 @@ public interface UserResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_USER })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response user();
@DELETE
@@ -54,7 +52,7 @@ public interface UserResource {
@GET
@Path("/logout")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_HOME_PAGE })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response logout();
}
\ No newline at end of file
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
index 8e7179f..bb53752 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/util/JsonMapper.java
@@ -38,7 +38,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
-import org.jboss.resteasy.client.ClientResponse;
+
+import org.apache.isis.viewer.legacy.RestEasyLegacy;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
public final class JsonMapper {
@@ -115,8 +116,7 @@ public final class JsonMapper {
}
public <T> T read(final Response response, final Class<T> requiredType) throws JsonParseException, JsonMappingException, IOException {
- final ClientResponse<?> clientResponse = (ClientResponse<?>) response; // a shame, but needed if calling resources directly.
- final String entity = clientResponse.getEntity(String.class);
+ final String entity = RestEasyLegacy.getEntityAsStringFrom(response);
if (entity == null) {
return null;
}
diff --git a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
index 535fc72..6b596a7 100644
--- a/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
+++ b/core/viewer-restfulobjects-applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/version/VersionResource.java
@@ -23,14 +23,13 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
-import org.jboss.resteasy.annotations.ClientResponseType;
@Path("/version")
public interface VersionResource {
@GET
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_VERSION })
- @ClientResponseType(entityType = String.class)
+ //deprecated @ClientResponseType(entityType = String.class)
public Response version();
@DELETE
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/Responses.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/Responses.java
index 4be7721..a88d640 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/Responses.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/Responses.java
@@ -16,16 +16,22 @@
*/
package org.apache.isis.viewer.restfulobjects.rendering;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.Date;
+
import javax.ws.rs.core.EntityTag;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.joda.time.DateTime;
-import org.joda.time.format.ISODateTimeFormat;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.apache.isis.core.commons.reflection.Reflect;
import org.apache.isis.core.metamodel.adapter.version.Version;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
import org.apache.isis.viewer.restfulobjects.rendering.util.JsonWriterUtil;
+import org.joda.time.DateTime;
+import org.joda.time.format.ISODateTimeFormat;
public final class Responses {
@@ -87,6 +93,18 @@ public final class Responses {
}
protected static Response.ResponseBuilder of(final RestfulResponse.HttpStatusCode httpStatusCode) {
+
+ //XXX debug
+ Response.ResponseBuilder x;
+ try {
+ Method m = ResponseBuilder.class.getDeclaredMethod("newInstance", Reflect.emptyClasses);
+ m.setAccessible(true);
+ x = (ResponseBuilder) m.invoke(null, Reflect.emptyObjects);
+ System.out.println("!!! DEBUG: "+x.getClass().getName());
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ e.printStackTrace();
+ }
return Response.status(httpStatusCode.getJaxrsStatusType()).type(MediaType.APPLICATION_JSON_TYPE);
}
diff --git a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
index d26c2e3..94140d1 100644
--- a/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
+++ b/core/viewer-restfulobjects-rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/conneg/IsisPrettyPrintingProcessor.java
@@ -22,7 +22,7 @@ import javax.ws.rs.core.MediaType;
import javax.xml.bind.Marshaller;
import org.jboss.resteasy.annotations.DecorateTypes;
-import org.jboss.resteasy.spi.interception.DecoratorProcessor;
+import org.jboss.resteasy.spi.DecoratorProcessor;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
index 90b9ad6..d906cc4 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/PreProcessInterceptorForIsisSession.java
@@ -21,19 +21,21 @@ package org.apache.isis.viewer.restfulobjects.server.webapp;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.ext.Provider;
-import org.jboss.resteasy.annotations.interception.ServerInterceptor;
+//deprectaed import org.jboss.resteasy.annotations.interception.ServerInterceptor;
import org.jboss.resteasy.core.ResourceMethodInvoker;
import org.jboss.resteasy.core.ServerResponse;
import org.jboss.resteasy.spi.Failure;
import org.jboss.resteasy.spi.HttpRequest;
-import org.jboss.resteasy.spi.interception.PreProcessInterceptor;
+//deprectaed import org.jboss.resteasy.spi.interception.PreProcessInterceptor;
@Provider
-@ServerInterceptor
-public class PreProcessInterceptorForIsisSession implements PreProcessInterceptor {
+//deprectaed @ServerInterceptor
+public class PreProcessInterceptorForIsisSession //deprectaed implements PreProcessInterceptor
+{
+ /* deprectaed
@Override
public ServerResponse preProcess(HttpRequest httpRequest, ResourceMethodInvoker resourceMethodInvoker) throws Failure, WebApplicationException {
return null;
- }
+ }*/
}
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.